今天遇到一个奇怪的现象,自定义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"
本文详细记录了一次在本地IDEA环境下成功运行的log4j2自定义Appender,在打包成JAR并使用命令行运行时遇到的错误及解决过程。通过调整log4j版本和依赖包,最终解决了“No appender named LogTraceMonitor was configured”的问题。
996

被折叠的 条评论
为什么被折叠?



