MDC模式下log4j2的配置
TLog在log4j2中的占位符为%TX{tl}
,这和log4j和logback中的所有不同,请注意不要写错。
样例如下,也是适用于同步和异步模式:
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN" monitorInterval="30">
<!--先定义所有的appender-->
<appenders>
<!--控制台日志-->
<console name="Console" target="SYSTEM_OUT">
<!--输出日志的格式-->
<PatternLayout pattern="%date{HH:mm:ss.SSS} %TX{tl} %-5level [%thread] %logger{36} - %tmsg%n"/>
</console>
<!--文件日志-->
<!--同步日志-->
<RollingFile name="RollingFileInfo" fileName="./logs/log4j2-sync-rolling-mdc.log"
filePattern="${sys:user.home}/logs/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log">
<!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->
<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="%date{HH:mm:ss.SSS} %TX{tl} %-5level [%thread] %logger{36} - %tmsg%n"/>
<Policies>
<TimeBasedTriggeringPolicy/>
<SizeBasedTriggeringPolicy size="100 MB"/>
</Policies>
</RollingFile>
<!--同步日志-->
<File name="SyncFile" fileName="./logs/log4j2-sync-mdc.log" append="false" >
<PatternLayout pattern="%date{HH:mm:ss.SSS} %TX{tl} %-5level [%thread] %logger{36} - %tmsg%n"/>
</File>
</appenders>
<!--然后定义logger,只有定义了logger并引入的appender,appender才会生效-->
<loggers>
<root level="INFO">
<appender-ref ref="Console"/>
<appender-ref ref="SyncFile"/>
<appender-ref ref="RollingFileInfo"/>
</root>
</loggers>
</configuration>
帮助我们改善文档 (opens new window)
last update: 2022/09/21, 16:00:22