Как глобально включить debug
для всех объектов slf4j.Logger
?
Как включить debug в slf4j Logger?
Ответ 1
Программно, с записью:
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);
}
Ответ 2
существует множество возможностей для переключения журнала отладки:
это статья имеет хорошее объяснение всем этим. мне хорошо подходит:
Использование slf4j с log4j logger
создать файл 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
Ответ 3
Для 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>
этой конфигурацией все ваши журналы "com.mypackage" будут записаны в файле "web.log" в файле catalina.home.
Ответ 4
Использовать logback как привязку slf4j.
Поведение по умолчанию без файла конфигурации - регистрировать все события на уровне DEBUG и выше до System.out. Подробнее см. http://logback.qos.ch/manual/configuration.html#automaticConf.
Ответ 5
зависит от того, какое обязательство вы используете... если, например, это log4j, посмотрите http://logging.apache.org/log4j/1.2/manual.html и его раздел конфигурации
Ответ 6
Если вы используете log4j как привязку slf4j, вы можете создать файл log4j.xml(или log4j.properties) и добавить его в путь к классам. Примером может быть:
<?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>