今天遇到一个奇怪的现象,自定义log4j2的appender如下:
在本地用idea的run该组件就好使:
当打成jar包使用 命令运行
java -jar -Denv=dev ~/fangchaoWorkSpace/pycharm/atlas/atlas-biz/build/libs/atlas-biz-0.0.5-SNAPSHOT.jar
时就是不好使,一直报错:ERROR No appender named LogTraceMonitor was configured
排查好久发现是log4j版本的问题:
正常情况下在springboot直接引入下面这个就可以
compile "org.springframework.boot:spring-boot-starter-log4j2:2.1.3.RELEASE"
但log4j2:2.1.3.RELEASE自带的core api impl 等包的版本是2.11.0的,所以自己覆盖这几个包如下就可以了
compile "org.apache.logging.log4j:log4j-core:2.12.1"
compile "org.apache.logging.log4j:log4j-api:2.12.1"
compile "org.apache.logging.log4j:log4j-slf4j-impl:2.12.1"