gpt4 book ai didi

java - logback配置文件——将除调试之外的所有内容写入文件,作为日志记录到控制台

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

我正在尝试将 logback 和 slf4j 配置到我的 eclipse 中。但是,我对配置文件有点困惑。我只是希望日志输出应该写入控制台和文件,但只有调试信息应该关闭才能写入文件。结果,我写了一些配置文件,但很糟糕,甚至不起作用。无论如何,我怎样才能实现这个愿望呢?

<configuration>

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
</encoder>
</appender>

<logger name="com.lordofthejars.foo" level="INFO" additivity="false">
<appender-ref ref="STDOUT" />
</logger>

<root level="DEBUG">
<appender-ref ref="STDOUT" />
</root>

</configuration>

最佳答案

您应该使用ThresholdFilter过滤器:

The ThresholdFilter filters events below the specified threshold. For events of level equal or above the threshold, ThresholdFilter will respond NEUTRAL when its decide() method is invoked. However, events with a level below the threshold will be denied

文档:https://logback.qos.ch/manual/filters.html#thresholdFilter

示例:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>app.log </file>
<append>true</append>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>

<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>DEBUG</level>
</filter>
</appender>

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>

<encoder>
<pattern>%msg%n</pattern>
</encoder>
</appender>

<root level="debug">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
</configuration>

关于java - logback配置文件——将除调试之外的所有内容写入文件,作为日志记录到控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25339540/

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