博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
tomcat 日志log4j,slf4j,logback冲突
阅读量:6272 次
发布时间:2019-06-22

本文共 2395 字,大约阅读时间需要 7 分钟。

问题描述:

        启动tomcat,发现tomcat无法启动,catalina.out有如下错误日志:

INFO [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log Closing Spring root WebApplicationContext

 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.listenerStop Exception sending context destroyed event to listener instance of class org.springframework.web.context.ContextLoaderListener

 java.lang.NoClassDefFoundError: Could not initialize class org.apache.log4j.Log4jLoggerFactory

        at org.apache.log4j.LogManager.getLogger(LogManager.java:44)

        at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:73)

        at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:270)

        at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:156)

        at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:132)

        at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:274)

        at org.springframework.web.context.ContextCleanupListener.<clinit>(ContextCleanupListener.java:43)

        at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:145)

        at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4860)

        at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5495)

        at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:224)

        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:159)

        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1407)

        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1397)

        at java.util.concurrent.FutureTask.run(FutureTask.java:266)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

        at java.lang.Thread.run(Thread.java:745)

 

 问题分析:

    检查lib库下面,发现今天更新过log4j和logback组合,总共有如下包:

 


slf4j-api-1.7.5.jar

slf4j-log4j12-1.6.1.jar

log4j-1.2.16.jar

log4j-over-slf4j-1.7.5.jar

logback-core-1.1.2.jar

logback-classic-1.1.2.jar

    通过查询资料发现,slf4j-log4j12-1.6.1.jar  和log4j有冲突。


 

解决方法:

      删除后正常,删除这个:slf4j-log4j12-1.6.1.jar  

附件常见组合:

log4j+slf4j

slf4j-api-1.7.5.jar

slf4j-log4j12-1.6.1.jar

log4j-1.2.16.jar

slf4j+logback

logback-core-1.1.2.jar

logback-classic-1.1.2.jar

slf4j-api-1.7.5.jar


参考资料:

http://www.slf4j.org/

本文转自 woshiwei201 51CTO博客,原文链接:http://blog.51cto.com/chenwei/1825820

转载地址:http://wbmpa.baihongyu.com/

你可能感兴趣的文章
JavaScript 基础(九): 条件 语句
查看>>
Linux系统固定IP配置
查看>>
配置Quartz
查看>>
Linux 线程实现机制分析
查看>>
继承自ActionBarActivity的activity的activity theme问题
查看>>
设计模式01:简单工厂模式
查看>>
项目经理笔记一
查看>>
Hibernate一对一外键双向关联
查看>>
mac pro 入手,php环境配置总结
查看>>
MyBatis-Plus | 最简单的查询操作教程(Lambda)
查看>>
rpmfusion 的国内大学 NEU 源配置
查看>>
spring jpa 配置详解
查看>>
IOE,为什么去IOE?
查看>>
java 用反射简单应用,将Object简单转换成map
查看>>
Storm中的Worker
查看>>
dangdang.ddframe.job中页面修改表达式后进行检查
查看>>
Web基础架构:负载均衡和LVS
查看>>
Linux下c/c++相对路径动态库的生成与使用
查看>>
SHELL实现跳板机,只允许用户执行少量允许的命令
查看>>
SpringBoot 整合Redis
查看>>