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

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>
时间: 2024-10-29 04:41:06

开发常见错误之 : Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar的相关文章

Android NDK开发常见错误

错误一: make: *** No rule to make target `/cygdrive/d/1-workspace/showmap-android-opengles/jni/showmap_opengles_OpenGLESRenderer.c', needed by `/cygdrive/d/1-workspace/showmap-android-opengles/obj/local/armeabi/objs/OpenGLESMap/showmap_opengles_OpenGLES

WCF分布式开发常见错误解决(1):An error occurred while attempting to find services at...添加服务引用出错

      WCF分布式开发常见错误解决(1):An error occurred while attempting to find services at...添加服务引用出错 当我们在客户端添加WCF服务引用的时候出错,信息如下 下载“http://localhost:8001/WCFService”时出错. 无法连接到远程服务器 由于目标机器积极拒绝,无法连接. 127.0.0.1:8001 Metadata contains a reference that cannot be reso

Symfony2.5开发常见错误

最近正在用Symfony2.5框架写一个境外电子商务项目,搭配webseverse编写相关接口:还好对方已经提供了相关接口,我只用写前段接口就好,但是用Symfony2.5操作数据库也是相当简单的:我接触过相当多人都觉得此框架难,分析了相关原因是它长得像Java一样,mvc思想更加根深蒂固了:但有个好处是能与像Java这些语言匹敌了.话不多说,聊下今天要讲的主题吧! 在Symfony2.5编程过程中也遇到了不少错误,我以后就将我遇到的错误总结如下,供大家参考,希望能帮助大家快速开发. 报错:Oo

iOS开发 常见错误

一.NSAppTransportSecurity 错误提示:NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802) iOS9让所有的HTTP默认使用了HTTPS,原来的HTTP协议传输都改成TLS1.2协议进行传输.直接造成的情况就是App发请求的时候弹出网络无法连接.解决办法就是在项目的info.plist 文件里加上如下节点: NSAppTransportSecurity - NSAllow

Android开发常见错误及技巧

1.无法使用网络:Permission denied(maybe missing internet permission) 在AndroidMainifest.xml中增加允许使用网络选项(在</application>结束标签之后>): <uses-permission Android:name="android.permission.INTERNET" /> 2.找不到activity类: android.content.ActivityNotFoun

iOS开发常见错误解决方法

1.出现下面的错误: StoryboardApp[8593:207] Failed to instantiate the default view controller for UIMainStoryboardFile 'MainStoryboard' - perhaps the designated entry point is not set? 这个问题的原因应该是在你的StoryBoard中没有一个view controller设置了Initial Scene.您需要选择一个view co

开发常见错误之 :Missing artifact com.sun:tools:jar 1.7.0

Missing artifact com.sun:tools:jar 1.7.0 解决办法一: 手动配置pom.xml,添加一个dependency如下: <dependency> <groupId>com.sun</groupId> <artifactId>tools</artifactId> <scope>system</scope> <systemPath>${JAVA_HOME}/../lib/tool

Android开发常见错误

1.java.net.SocketTimeoutException: Transport endpoint is not connected 此问题可能是conn的地址填写错误最好填写ipv6的地址

iOS开发常见错误

错误1: 1.1这种错误都是storyboard有问题 解决:当前storyboard的Custom Class是MJViewController,代码中MJViewController继承自UITableViewController. 而storyboard目前提供的是UIViewController,并没有为MJViewController提供TableView.这样的话就会报上图中的错. 控制器中真实的控制器类型 解决问题的方法是删除掉storyboard中的原来的UIViewContro