web-dev-qa-db-fra.com

Comment activer le débogage dans slf4j Logger?

Comment activer globalement debug pour tous les slf4j.Logger objets?

33
missingfaktor

Par programme, avec déconnexion:

setLoggingLevel(ch.qos.logback.classic.Level.DEBUG);

public static void setLoggingLevel(ch.qos.logback.classic.Level level) {
    ch.qos.logback.classic.Logger root = (ch.qos.logback.classic.Logger) org.slf4j.LoggerFactory.getLogger(ch.qos.logback.classic.Logger.ROOT_LOGGER_NAME);
    root.setLevel(level);
}
15
assylias

existe différentes capacités pour activer le journal de débogage:
ce article ont une bonne explication de tout cela. pour moi, un bon ajustement est:

Utilisation de slf4j avec l'enregistreur Log4j
créer un fichier src/main/resources/log4j.properties

log4j.rootLogger=DEBUG, STDOUT
log4j.logger.deng=INFO
log4j.appender.STDOUT=org.Apache.log4j.ConsoleAppender
log4j.appender.STDOUT.layout=org.Apache.log4j.PatternLayout
log4j.appender.STDOUT.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
9
madjardi

Pour log4j

<log4j:configuration xmlns:log4j="http://jakarta.Apache.org/log4j/" debug="true">

<!-- ============================== -->
<!-- Append messages to the console -->
<!-- ============================== -->

<appender name="CONSOLE" class="org.Apache.log4j.ConsoleAppender">
    <param name="Target" value="System.out"/>
    <param name="Threshold" value="INFO"/>

    <layout class="org.Apache.log4j.PatternLayout">
        <!-- The default pattern: Date Priority [Category] Message\n -->
        <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/>
    </layout>
</appender>

<appender name="web" class="org.Apache.log4j.DailyRollingFileAppender">
    <param name="Threshold" value="DEBUG"/>
    <param name="Append" value="true"/>
    <param name="File" value="${catalina.home}/logs/web.log"/>
    <layout class="org.Apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/>
    </layout>
</appender>

<category name="com.idc.scd" additivity="false">
    <priority value="${log4j.category.com.mypackage}"/>
    <appender-ref ref="web"/>
</category>

</log4j:configuration>

par cette cofiguration tous vos journaux "com.mypackage" seront écrits dans le fichier "web.log" sous catalina.home.

1
Pramod Kumar

Utilisez logback comme liaison slf4j.

Le comportement par défaut sans fichier de configuration consiste à consigner tous les événements au niveau DEBUG et supérieur dans System.out. Voir http://logback.qos.ch/manual/configuration.html#automaticConf pour plus de détails.

dépend de la liaison que vous utilisez ... si par exemple c'est log4j jetez un oeil à http://logging.Apache.org/log4j/1.2/manual.html et son chapitre Configuration

0
Korgen

Si vous utilisez log4j comme liaison de slf4j, vous pouvez créer un fichier log4j.xml (ou log4j.properties) et l'ajouter au chemin de classe. Un exemple pourrait être:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.Apache.org/log4j/" debug="false">
  <appender name="CONSOLE" class="org.Apache.log4j.ConsoleAppender">
    <param name="Target" value="System.out" />
    <param name="Threshold" value="DEBUG" />
    <layout class="org.Apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %-5p [%c{1}] %m%n" />
    </layout>
  </appender>
  <root>
    <appender-ref ref="CONSOLE" />
  </root>
</log4j:configuration>
0
peshkira