处理Log4j2不能打印行号的问题(AsyncLogger)
目录
- Log4j2不能打印行号问题(AsyncLogger)
- 背景
- 解决方案
- 注意
- 附完整配置节点
- Log4j2异步日志中打印方法名和行号信息
- 解决方案
- pom配置
- 属性配置
Log4j2不能打印行号问题(AsyncLogger)
背景
%d{yyyy-MM-dd HH:mm:ss,SSS} %level [%t] %logger{36}(%F:%L) - %m%n
日志的输出格式已经指定了文件名、行号显示,可是打印出来却是空的,为什么?答案在这里:
解决方案
pom.xml
com.lmax disruptor3.3.11
log4j2.xml
注意
includeLocation
:设置成true,否则指定了行号也显示不出来;disruptor
:这个包需要单独引入;additivity
:设置成false,否则会重复;
附完整配置节点
%date{yyyy-MM-dd HH:mm:ss} %highlight(%-5level) [%boldYellow(%thread)] %boldGreen(%logger)(%F:%L\): %msg%n
Log4j2异步日志中打印方法名和行号信息 解决方案
异步logger,还需要在pom.xml中添加disruptor的依赖;
includeLocation结合异步logger使用,当其设置为true时,才会显示具体的行号,以及日志所在的类名;
如果设置为false,哪怕设置了输出行号也不会显示出来;
pom配置
com.lmax disruptor3.3.6
属性配置
设置 AsyncRoot 的 includeLocation 属性为 true;
xml 格式示例:
【处理Log4j2不能打印行号的问题(AsyncLogger)】yaml 格式示例:
Loggers:AsyncRoot:level: infoincludeLocation: trueAppenderRef:- ref: console- ref: running_log
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
推荐阅读
- Android后台杀死系列之一(FragmentActivity及PhoneWindow后台杀死处理机制)
- Win8.1提示找不到liveupdate_up_20150211.exe文件的处理办法
- Win8.1更新KB2982791补丁后蓝屏的处理方案
- Win8电脑无法进入BIOS的处理办法
- 如何处理Win8不能在同一窗口打开文件夹问题?
- Win8.1笔记本一玩游戏就很卡怎样处理?
- android.os.NetworkOnMainThreadException异常处理办法
- 8086微处理器中的寻址模式
- 教你加内存条后系统时间出错的处理办法
- 桌面输入法图标"失踪"的有效果处理方案