gpt4 book ai didi

java - Logback根输出配置

转载 作者:行者123 更新时间:2023-12-02 03:07:02 24 4
gpt4 key购买 nike

我想查看控制台的所有信息级别输出,并且仅从文件发出警告输出。

控制台上的信息级别输出清晰显示,但所有信息输出也保存在文件中,而不仅仅是警告级别输出。

这是我的日志配置。这里有什么错误吗?

<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{HH:mm:ss.SSS} %-5level %logger{20} [%mdc{threadid}] - [%mdc{useroid} : %mdc{sessionid}]%msg%n</pattern>
</encoder>
</appender>

<appender name="consoleFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<prudent>true</prudent>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>log/console.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level | %msg%n</pattern>
</encoder>
</appender>


<root level="INFO">
<appender-ref ref="console" />
</root>

<root level="WARN">
<appender-ref ref="consoleFileAppender" />
</root>

最佳答案

出于您的目的,我建议在您的附加程序中使用过滤器。更具体地说,如果您只想在控制台上查看 INFO,您可以在控制台 Appender 中添加特定的 LevelFilter,如果您想查看等于或高于 INFO 的所有日志,您可以使用 ThresholdFilter。

这里有一个可能的解决方案可以满足您的任务:

<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{HH:mm:ss.SSS} %-5level %logger{20} [%mdc{threadid}] - [%mdc{useroid} : %mdc{sessionid}]%msg%n</pattern>
</encoder>
</appender>

<appender name="FileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
<prudent>true</prudent>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>WARN</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>log/console.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level | %msg%n</pattern>
</encoder>
</appender>

<root level="INFO">
<appender-ref ref="console" />
<appender-ref ref="FileAppender" />
</root>

关于java - Logback根输出配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41583452/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com