gpt4 book ai didi

Logback 级别元素与级别属性

转载 作者:行者123 更新时间:2023-12-05 05:19:22 25 4
gpt4 key购买 nike

问题很简单。在某些 logback.xml 中,我将级别视为一个元素:

<logger name="mylog" additivity="false">
<level value="DEBUG" />
<appender-ref ref="fileAppender" />
</logger>

但在某些情况下它被写成一个属性:

<logger name="mylog" additivity="false" level="debug">
<appender-ref ref="fileAppender" />
</logger>

有什么区别?

谢谢。

最佳答案

在配置Logback方面,没有区别。以下两个声明在功能上是相同的:

<logger name="com.x.y">
<level value="DEBUG"/>
</logger>

<logger name="com.x.y" level="DEBUG" />

Logback 的配置器(查看 ch.qos.logback.core.joran.GenericConfigurator.doConfigure())为这两个声明创建相同的 Logger 实例.

唯一的区别 - 在解析配置时 - 是第一个出现在 ch.qos.logback.core.joran.event.SaxEvent 的更多实例中(记录器的开始和结束事件和级别)比第二个(仅记录器的开始和结束事件)。

如果您将记录器与特定的附加程序相关联,那么您已经定义了一个记录器元素主体,例如

<logger name="com.x.y">
<appender-ref ref="STDOUT"/>
</logger>

在这种情况下,在元素主体中定义一个 level 而不是作为一个属性可能读起来更好,但这实际上只是开发人员偏好的一种情况。

关于Logback 级别元素与级别属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46302065/

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