如果我使用logback作为后端,如何在我的应用程序中一次禁用所有日志记录?我只能逐个禁用记录器,将它们设置为level =“off”。当个别记录器设置为“关闭”以外的其他记录器时,我可以做些什么来禁用所有记录?
谢谢,
编辑,这是我的实际文件:
<configuration level="OFF">
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>log/app.log</file>
<append>false</append>
<encoder>
<pattern>[%level] [%d{dd/MM/YYYY HH:mm:ss.SSS}] [%thread] [%logger] %message%n%xException</pattern>
</encoder>
</appender>
<appender name="ASYNCFILE" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="FILE" />
</appender>
<appender name="DISTRIBUTION_TRACE_FILE" class="ch.qos.logback.core.FileAppender">
<file>log/distribution_trace.log</file>
<append>false</append>
<encoder>
<pattern>%message</pattern>
</encoder>
</appender>
<appender name="DISTRIBUTION_TRACE_FILE_ASYNC" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="DISTRIBUTION_TRACE_FILE" />
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>[%level] [%d{dd/MM/YYYY HH:mm:ss.SSS}] [%thread] [%logger] %message%n%xException</pattern>
</encoder>
</appender>
<appender name="ASYNCSTDOUT" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="STDOUT" />
</appender>
<logger name="app.logger" level="INFO">
<appender-ref ref="ASYNCFILE"/>
</logger>
<logger name="distribution.logger" level="ALL">
<appender-ref ref="ASYNCSTDOUT"/>
</logger>
<logger name="distribution.trace" level="TRACE">
<appender-ref ref="DISTRIBUTION_TRACE_FILE_ASYNC"/>
</logger>
<root level="OFF">
<appender-ref ref="ASYNCSTDOUT"/>
</root>
</configuration>
答案 0 :(得分:0)
您有一些名为root
记录器的东西。在根记录器上将级别设置为off
,您就完成了。这是我的logback.xml
配置文件中的示例代码段。
<root level="DEBUG"> <!-- set this to OFF and no more logging-->
<appender-ref ref="STDOUT" />
<appender-ref ref="DAYFILE" />
<appender-ref ref="DAYFILE_WARN" />
<appender-ref ref="ELASTIC" />
</root>