关于log4j无法正常输出日志:java.lang.NoClassDefFoundError: org/apache/log4j/spi/ThrowableInformation

来源:互联网 发布:金融大数据 知乎 编辑:程序博客网 时间:2024/06/10 18:57

今天启动java程序,日志一直无法正常输出,经过查询,在tomcat的日志中出现如下异常:

Exception in thread "pool-1-thread-2" java.lang.NoClassDefFoundError: org/apache/log4j/spi/ThrowableInformation
DbConnInfo add conn is null
Exception in thread "pool-3-thread-2" Exception in thread "pool-2-thread-2"     at org.apache.log4j.spi.LoggingEvent.<init>(LoggingEvent.java:145)
        at org.apache.log4j.Category.forcedLog(Category.java:372)
        at org.apache.log4j.Category.info(Category.java:691)
        at com.hispeed.dbApi.DbApi.getConnection(DbApi.java:598)
        at com.hispeed.dbApi.DbApi.caculateConn(DbApi.java:883)
        at com.hispeed.dbApi.DbApi.execQuerySQLgetObjects(DbApi.java:502)
        at com.hispeed.dao.impl.AliOrderCreateDao.getOrderinfoList(AliOrderCreateDao.java:41)
        at com.hispeed.thread.AliOrderCreateProducer.getProducts(AliOrderCreateProducer.java:39)
        at com.hispeed.producerConsumer.distinct.DistinctProducer.run(DistinctProducer.java:45)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.spi.ThrowableInformation
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1856)
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1705)
        ... 12 more


查询网上原因,说是log4j jar文件冲突,但是我程序jar并未冲突

重启程序,查看tomcat启动日志,发现启动是tomcat监听端口被占用,导致程序启动异常

更改监听端口,重启程序,日志输出正常。


1。查看程序端口是否被占用

2。 查看log4j jar文件是否存在冲突,或者少jar(log4j jar 包含:log4j-1.2.8.jar,slf4j-api-1.6.1.jar,slf4j-log4j12-1.6.1.jar)


可能产生原因不止这两个,需根据自身问题实际解决,仅供参考

阅读全文
0 0
原创粉丝点击