simple logger log4j12 example defaulting java logging slf4j

java - logger - slf4j-simple



¿Cómo habilitar la depuración en el registrador slf4j? (6)

Para 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>

por esta configuración, todos los registros de "com.mypackage" se escribirán en el archivo "web.log" en catalina.home.

¿Cómo habilitar globalmente la debug para todos los objetos slf4j.Logger ?


Programáticamente, con logback:

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

dónde

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); }


Si usa log4j como enlace de slf4j, puede crear un archivo log4j.xml (o log4j.properties) y agregarlo a la ruta de clase. Un ejemplo podría ser:

<?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>




existe varias capacidades para activar el inicio de sesión de depuración:
Este article tiene una buena explicación de todos esos. para mí el buen ajuste es:

Usando slf4j con log4j logger
crear archivo 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