【问题标题】:Is there any way to add mutiple patterns in logback.xml?有没有办法在 logback.xml 中添加多个模式?
【发布时间】:2020-05-15 02:52:18
【问题描述】:

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

这是用于打印记录器的 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 代码的示例语句

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= 

从技术上讲,这并没有错误信息。根级别配置为 ERROR。 我需要以不同的模式打印。 我正在使用 slf4j。

【问题讨论】:

    标签: java slf4j spring-logback


    【解决方案1】:

    你可以添加多个不同模式的appender和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

    【讨论】:

    • 政策不接受仅链接的答案。您能否详细说明这如何解决 OP 的担忧?
    猜你喜欢
    • 1970-01-01
    • 2012-02-02
    • 2011-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-21
    相关资源
    最近更新 更多