前提:当在配置log4j2时,需要配置输出日志的格式。
在appenders中配置控制台输出格式,增加了过滤内容
<console name="Console" target="SYSTEM_OUT">
<!--输出日志的格式 -->
<PatternLayout pattern="${LOG_PATTERN}" />
<!--控制台只输出level及其以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->
<ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="DENY"/>
</console>
${LOG_PATTERN}为自定义的变量,在项目中的配置如下
<!-- 变量配置 -->
<Properties>
<property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level [%logger{50}:%L] [%X{X-B3-TraceId},%X{X-B3-SpanId}] - %msg%n" />
<!-- 以下配置不在本次记录内容中,故而不展示 -->
</Properties>
这里的value【%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level [%logger{50}:%L] [%X{X-B3-TraceId},%X{X-B3-SpanId}] - %msg%n】含义具体如下
%d: 表示日期;
%t: 表示线程名;
%X{X-B3-TraceId}: 表示traceId,是 Zipkin 分布式跟踪系统中的一个头部信息,用于标识一次请求的跟踪ID;
%X{X-B3-SpanId}: 表示spanId;
%-5level: 级别从左显示5个字符宽度;
%logger{50}: 表示 Logger 名字最长50个字符;
%L: 表示输出日志事件发生的具体位置,包括类名、方法名、行号等信息;
%msg: 日志消息;
%n: 是换行符;
最后打印结果参考如下:
2023-12-07 15:51:33.079 [xxl-job, JobThread-8-1701935400042] INFO [com.xxl.job.core.thread.JobThread:250] [2becb0393d33f4d0,2becb0393d33f4d0] - >>>>>>>>>>> xxl-job JobThread stoped, hashCode:Thread[xxl-job, JobThread-8-1701935400042,10,main]