码迷,mamicode.com
首页 > 编程语言 > 详细

开发常见错误之 : Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar

时间:2017-07-30 11:42:47      阅读:1187      评论:0      收藏:0      [点我收藏+]

标签:base   size   nbsp   href   mil   werror   class   factory   log4j   

SLF4J: Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError.
SLF4J: See also http://www.slf4j.org/codes.html#log4jDelegationLoop for more details.
Exception in thread "main" Java.lang.ExceptionInInitializerError
at org.apache.log4j.LogManager.getLogger(LogManager.java:44)
at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:66)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:277)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:288)
....
Caused by: java.lang.IllegalStateException: Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError. See also http://www.slf4j.org/codes.html#log4jDelegationLoop for more details.
at org.apache.log4j.Log4jLoggerFactory.<clinit>(Log4jLoggerFactory.java:51)
... 11 more

 

原因是引用了两个关于log4j的jar,造成死循环

log4j-over-slf4j-1.7.7.jar

slf4j-log4j12-1.7.7.jar

但只引用slf4j-log4j12-1.7.7.jar会提示org.apache.log4j.Level这个class找不到

要使用log4j记录日志,其实只用引用log4j-over-slf4j-1.7.7.jar就可以了,一般在maven中引入其他依赖时,可以排除对log4j的引用:

<exclusion>
    <groupid>log4j</groupid>
    <artifactId>log4j</artifactId>
</exclusion>
<exclusion>
    <groupid>org.slf4j</groupid>
    <artifactId>elf4j-log4j12</artifactId>
</exclusion>

 

开发常见错误之 : Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar

标签:base   size   nbsp   href   mil   werror   class   factory   log4j   

原文地址:http://www.cnblogs.com/sunfie/p/7258451.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!