我从log4j2 2.0-beta9
升级到2.0
,均为log4j-core
和log4j-api
。Log4j2抛出NoSuchMethodError
我的应用程序使用前运行正常,现在我发现了以下错误:
Caused by: java.lang.NoSuchMethodError: org.apache.logging.log4j.core.Logger.log(Lorg/apache/logging/log4j/Marker;Ljava/lang/String;Lorg/apache/logging/log4j/Level;Lorg/apache/logging/log4j/message/Message;Ljava/lang/Throwable;)V
at org.apache.log4j.Category.forcedLog(Category.java:336)
at org.apache.log4j.Category.log(Category.java:423)
at com.mchange.v2.log.log4j.Log4jMLog$Log4jMLogger.log(Log4jMLog.java:171)
at com.mchange.v2.log.log4j.Log4jMLog$Log4jMLogger.log(Log4jMLog.java:183)
at com.mchange.v2.cfg.MConfig.dumpToLogger(MConfig.java:101)
at com.mchange.v2.cfg.MConfig.dumpToLogger(MConfig.java:98)
at com.mchange.v2.cfg.MConfig$CSManager.recreateFromKey(MConfig.java:154)
at com.mchange.v1.cachedstore.NoCleanupCachedStore.find(NoCleanupCachedStore.java:63)
什么可能是错在这里?为什么log4j失败?
也许我必须从c3p0重定向日志记录?以下语句如何写入log4j2?
com.mchange.v2.log.MLog=com.mchange.v2.log.log4j.Log4jMLog
我发现下面的语句将防止C3P0记录,因此是我目前的解决方法:
System.setProperty("com.mchange.v2.log.MLog", "com.mchange.v2.log.FallbackMLog");
但我想有记录重定向到log4j2,所以还在寻找一个解决方案。
你重新编译了你的应用程序吗? –
是的,我当然了,看看我上面的更新。 – membersound