gpt4 book ai didi

java - 有没有办法在 logback.xml 中添加多个模式?

转载 作者:行者123 更新时间:2023-12-01 18:39:25 26 4
gpt4 key购买 nike

我正在研究记录器实现,并尝试使用错误级别日志以不同的模式打印记录器语句。

这是用于打印记录器的 XML 配置。有没有办法添加多个模式并根据条件打印语句。

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_HOME:-logs}/${LOG_FILE_NAME:-eportal-daas}.log</file>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>
%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger - %M - %L :[trackId=%X{trackId}]|uuid=%uuid|accountName=%X{accountName}|appName=%X{appName}|userName=%X{userName}|exceptionIssueCode=%expRoot|
:errorMessage=%msg
:stackTrace=%ex %n
</Pattern>
</encoder>
</appender>

下面是使用java记录器代码的示例语句

logger.error("********* Application Started Successfully *********");

2020-01-29 13:14:00 ERROR [main] com.apptium.Application - main - 64 :[trackId=]|uuid=66d1caaa-17ae-46c9-abf2-28f0da789353|accountName=|appName=|userName=|exceptionIssueCode=EP03NANIL -> UNEXPECTED ERROR|
:errorMessage=********* Application Started Successfully *********
:stackTrace=

从技术上讲,这并不是错误消息。根级别配置为错误。我需要以不同的图案打印。我正在使用 slf4j。

最佳答案

您可以添加具有不同模式的多个附加程序和 filter for levels :

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<encoder>
<Pattern>
...
</appender>

<appender name="fout"...
</appender>

<root level="INFO">
<appender-ref ref="FILE" />
<appender-ref ref="fout" />
</root>

https://stackoverflow.com/a/5653532/9928822

关于java - 有没有办法在 logback.xml 中添加多个模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59969947/

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