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就可以了
http://www.360doc.com/content/10/0908/15/1542811_52121394.shtml
在最新的版本中,log4j-over-slf4j已经找不到了。现在以slf4j-log4j的jar为主
https://www.slf4j.org/manual.html