gpt4 book ai didi

logging - 如何使用 logback 创建 2 个不同的 ROOT 记录器?

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

我很高兴将 SLF4J 与 logback 结合使用,并为 ROOT 记录器使用 2 个附加程序

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

我们如何为两个附加程序设置不同的日志级别?我仍然需要所有 ROOT 记录器消息。

  • STDOUT 的 DEBUG 级别
  • INFO-FILE 级别

所有日志都需要成为输出的一部分(因此需要 ROOT 记录器)。

最佳答案

你不会有超过一个根记录器,所以你的问题有点误导。您正在寻找的是如何微调每个附加程序记录的事件。

为此,您向每个附加程序添加一个 ThresholdFilter:

http://logback.qos.ch/manual/filters.html#thresholdFilter

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

为 FILE-appender 配置级别 INFO,为 STDOUT 配置 DEBUG。

编辑:我必须对另一个答案的指控提出异议,即这个答案是错误的:是的,您可以在配置中拥有多个根元素。不过,这不会创建多个根记录器,这正是问题标题所要求的。另外,logback 手册在 http://logback.qos.ch/manual/configuration.html#syntax 下有说明。 (突出显示我的):

Nevertheless, the very basic structure of the configuration file can be described as, < configuration > element, followed by zero or more < appender > elements, followed by zero or more < logger > elements, followed by at most one < root > element.

它可能有效,但至少它违反惯例。

关于logging - 如何使用 logback 创建 2 个不同的 ROOT 记录器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18827633/

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