1

Mule 3.3.x 文档 ( http://www.mulesoft.org/documentation/display/33X/Configuring+Logging ) 说 Mule 使用 slf4j 作为日志记录的外观。基于此,我希望能够从 mule\lib\boot 中删除 log4j-1.2.16.jar 并添加 log4j-api-2.0-beta7、log4j-core-2.0-beta7、log4j-slf4j-impl-2.0 -beta7 以利用 log4j 2.0。

当我这样做时,我得到一个异常,即找不到 org/apache/log4j/or/RendererMap。

进一步看,我在 Mule 安装的任何地方都找不到 slf4j-api.jar,我认为这是使用 slf4j 所必需的库。

Mule 文档是不正确的还是我需要做其他事情?

这是来自 Mule 的截断堆栈跟踪。出于某种原因,取消注释 wrapper.conf 中的“-Dmule.verbose.exceptions=true”选项并没有给我完整的堆栈跟踪。

Error in WrapperListener.start callback.  java.lang.NoClassDefFoundError: org/apache/log4j/or/RendererMap
java.lang.NoClassDefFoundError: org/apache/log4j/or/RendererMap
    at org.apache.log4j.Hierarchy.<init>(Hierarchy.java:97)
    at org.apache.log4j.LogManager.<clinit>(LogManager.java:82)
    at org.apache.log4j.Logger.getLogger(Logger.java:117)
    at org.mule.module.launcher.log4j.ApplicationAwareRepositorySelector.<init>(ApplicationAwareRepositorySelector.java:44)
    at org.mule.module.launcher.MuleContainer.<clinit>(MuleContainer.java:85)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
    at org.mule.module.reboot.MuleContainerWrapper.start(MuleContainerWrapper.java:54)
    at org.tanukisoftware.wrapper.WrapperManager$12.run(WrapperManager.java:2788)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.or.RendererMap
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    ... 11 more
<-- Wrapper Stopped
4

0 回答 0