gpt4 book ai didi

java - log4j xml配置,将一些Logger写入文件和控制台

转载 作者:行者123 更新时间:2023-12-02 11:18:51 28 4
gpt4 key购买 nike

我有以下带有 3 个附加程序的 log4j xml 配置。并希望通过以下方式配置记录器:

  1. 所有超过 INFO 的消息都会写入 STDOUT 和全局日志 FILE 附加程序

  2. 但是对于某些 Oauth 类,我想要额外的日志文件 OAUTHFILE

  3. 某些类会被过滤并仅在错误级别将消息写入 LOG,这可以通过

    来实现
    <logger name="application" level="ERROR" />
  4. 某些类会被过滤并将消息写入其自己的日志文件中。这也可以通过可加性等于错误标志来解决。

    <logger name="MapActor" level="DEBUG" additivity="false">
    <appender-ref ref="MAPACTORFILE" />
    </logger>

但是我该如何解决第二个问题。以下配置在 STDOUT 中生成调试和错误消息!在 OAUTHFILE 中

<configuration>
...
<appender name="STDOUT" ...></appender>
<appender name="FILE" ...>
</appender>

<appender name="OAUTHFILE" ...>
</appender>
...
<logger name="controllers.OAuth" level="DEBUG" additivity="false">
<appender-ref ref="OAUTHFILE" />
</logger>
<root level="INFO">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>

</configuration>

最佳答案

实际上我已经找到了第二个任务的解决方案。我应该制作 2 个 STDOUT 和 FILE 附加程序 - 一个用于一般日志记录,第二个用于过滤

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} %coloredLevel %cyan(%logger{15}) %message%n%xException{5}</pattern>
</encoder>
</appender>

<appender name="STDOUTERR" class="ch.qos.logback.core.ConsoleAppender">

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

<encoder>
<pattern>%d{HH:mm:ss.SSS} %coloredLevel %cyan(%logger{15}) %message%n%xException{5}</pattern>
</encoder>
</appender>

并使用第二个作为额外的appender-ref,用于应该向一般标准输出生成错误日志的类,如下所示:

<logger name="MapActor" level="DEBUG" additivity="false">
<appender-ref ref="MAPACTORFILEAPPENDER" />
<appender-ref ref="STDOUTERR" />
</logger>

关于java - log4j xml配置,将一些Logger写入文件和控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30120282/

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