gpt4 book ai didi

logback - 使用布局时如何防止 logback 在每个日志的开头输出自己的状态

转载 作者:行者123 更新时间:2023-12-05 07:59:58 28 4
gpt4 key购买 nike

这似乎是一个粗心的错误,但我似乎找不到原因。使用 logback/slf4j(最新版本 slf4j-api-1.6.1,logback core/classic 0.9.24)进行记录。最简单的测试日志配置是:

<configuration>
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<!-- DONT USE THIS FORMATTER FOR LIVE LOGGING THE %L LINE NUMBER OUTPUTTER IS SLOW -->
<pattern>%le %-1r [%c{1}:%L] %m%n</pattern>
</layout>
</appender>
<root level="DEBUG">
<appender-ref ref="stdout" />
</root>
</configuration>

每个日志设置都以 logback 的内部状态行开始:

11:21:27,825 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
11:21:27,826 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback-test.xml] at [file:.../logback-test.xml]
11:21:28,116 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
11:21:28,124 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
11:21:28,129 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [stdout]
11:21:28,180 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Pushing component [layout] on top of the object stack.
11:21:28,206 |-WARN in ch.qos.logback.core.ConsoleAppender[stdout] - This appender no longer admits a layout as a sub-component, set an encoder instead.
11:21:28,206 |-WARN in ch.qos.logback.core.ConsoleAppender[stdout] - To ensure compatibility, wrapping your layout in LayoutWrappingEncoder.
11:21:28,206 |-WARN in ch.qos.logback.core.ConsoleAppender[stdout] - See also http://logback.qos.ch/codes.html#layoutInsteadOfEncoder for details
11:21:28,207 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to DEBUG
11:21:28,207 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [stdout] to Logger[ROOT]

根据文档,这是 logback 默认使用的格式。然后它完成读取配置(设置为输出不同的格式)并继续正确格式化的输出。有一个配置参数 <configuration debug="false">这不影响这个。

有人知道怎么关闭吗?

最佳答案

如果您设置 debug configuration 的属性元素到 true ,您将获得控制台的所有状态信息。如果这是您的问题,只需将其设置为 false 或将其删除。

如果你有WARN级别的配置问题或以上,您还将获得记录到控制台的所有状态信息(包括级别 INFO 的消息)。此问题的最佳解决方案是解决问题(在您的情况下,将 <layout> 元素替换为 <encoder> 元素)。

如果您出于某种原因无法解决问题,但又想从控制台中删除状态信息,您可以配置一个替代方案 StatusListener .使用 NopStatusListener完全删除状态信息:

<configuration>
<statusListener class="ch.qos.logback.core.status.NopStatusListener" />
<!-- etc -->
</configuration>

关于logback - 使用布局时如何防止 logback 在每个日志的开头输出自己的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19812545/

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