解决Log4j2不能打印行号问题(AsyncLogger)

背景

%d{yyyy-MM-dd HH:mm:ss,SSS} %level [%t] %logger{36}(%F:%L) - %m%n

日志的输出格式已经指定了文件名、行号显示,可是打印出来却是空的,为什么?答案在这里:

解决方案

pom.xml

<dependency>
    <groupId>com.lmaxgroupId>
    <artifactId>disruptorartifactId>
    <version>3.3.11version>
dependency>

log4j2.xml

<AsyncLogger name="com.domain.app.web" includeLocation="true">
    <AppenderRef ref="File" />
AsyncLogger>

注意

includeLocation:设置成true,否则指定了行号也显示不出来;

disruptor:这个包需要单独引入;

additivity:设置成false,否则会重复;

附完整配置节点

<AsyncLogger name="com.domain.app.web" includeLocation="true" level="debug" additivity="false">
    <AppenderRef ref="File" />
AsyncLogger>

你可能感兴趣的:(Java)