306 votes

SLF4J : Comment se connecter le message mis en forme, le tableau d’objets, exception

Quelle est la bonne méthode pour se connecter aussi bien un message peuplé et une trace de la pile de l’exception ?

Je souhaite produire une sortie semblable à celui-ci :

SLF4J version 1.6.1

497voto

Ceki Points 8781

Comme de SLF4J 1.6.0, en présence de plusieurs paramètres et si le dernier argument dans une déclaration logging est une exception, alors SLF4J allons maintenant supposer que l'utilisateur veut que le dernier argument doit être considérée comme une exception et non pas un simple paramètre. Voir aussi la pertinente entrée de la FAQ.

Donc, l'écriture (dans SLF4J la version 1.7.x et versions ultérieures)

 logger.error("one two three: {} {} {}", "a", "b", 
              "c", new Exception("something went wrong"));

ou de l'écriture (dans SLF4J la version 1.6.x)

 logger.error("one two three: {} {} {}", new Object[] {"a", "b", 
              "c", new Exception("something went wrong")});

rendement

one two three: a b c
java.lang.Exception: something went wrong
    at Example.main(Example.java:13)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at ...

La sortie exacte dépendra de l'infrastructure sous-jacente (par exemple, logback, log4j, etc) ainsi que sur la façon dont le cadre sous-jacent est configuré. Cependant, si le dernier paramètre est une exception, elle sera interprétée comme telle, indépendamment de l'infrastructure sous-jacente.

9voto

Yaniv Points 76

En plus de la réponse de @Ceki, si vous utilisez logback et configurez un fichier de configuration de votre projet (généralement logback.xml), vous pouvez définir le journal pour tracer aussi bien à l’aide de la trace de la pile

le % ex en point fantaisie, c’est ce qui fait la différence

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X