使⽤Log4j2,打包后提⽰ERRORStatusLoggerLog4j2couldnot。。。
从Log4j切换到Log4j2,没有打包之前⽇志输出正常,但是打包后总是提⽰下⾯内容:
错误⼀:
ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to
错误⼆:
ERROR StatusLogger LogManager returned an instance of org.apache.logging.log4j.simple.SimpleLoggerContextFactory which does not implement
org.apache.impl.Log4jContextFactory. Unable to initialize Log4j.
被这个问题折腾了⼀天多,总算是到⼀个解决办法,在这⾥记录⼀下。
错误⼀:
⽹上有⼈说是没有导⼊log4j-core,但是导⼊后还是出现这个错误。
这⾥还尝试了添加启动参数(-l),以及在src下添加log4j2ponent.properties⽂件(内容:l),结果同样失败。
错误⼆:
这个问题在⽹上没有多少可以参考的信息,但是在解决错误⼀时,看到有log4j2ponent.properties这个配置⽂件,所以抱着试试的态度,到官⽅上查了⼀下,有这样的内容:
然后果断在src下添加log4j2ponent.properties⽂件(内容:log4j2.loggerContextFactory=org.apache.impl.Log4jContextFactory),接着打包运⾏,⽇志正常输出了。⿎掌
这⾥还发现了⼀个⽐较好⽤的配置参数,就是上⾯提到的figurationFile。
尝试后发现:
1.如果不配或者只配置名字(log4j
2.如果配置jar外的绝对路径,就会在jar包外查l。这个好处就是配置改动后,就不⽤重新打包了。
log4j2 配置详解propertieslog4j2ponent.properties:
1 log4j2.loggerContextFactory=org.apache.impl.Log4jContextFactory
figurationFile=/home/*****/*****/l
3 #l

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。