如何省略 logback appender 的不存在的值?

How to omit not existing values for logback appender?

我有非常基本的 logback 配置:

<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>
            %date %-5level [%thread] - [%logger] - [someArg:%X{someArg}] - %msg%n
        </pattern>
    </encoder>
</appender>

<root level="INFO">
    <appender-ref ref="CONSOLE"/>
</root>

我不想为每个应用程序日志从 MDC 粘贴 someArg,如果 someArgs 不存在,我该如何省略它?

如果 someArgs 不存在,您可以使用 替换 省略它。 像这样:

<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>
            %date %-5level [%thread] - [%logger] %replace(- [someArg:%X{someArg}] ){'- \[someArg:\] ',''}- %msg%n
        </pattern>
    </encoder>
</appender>