Mule ESB 3.4.0 CE:无法在MuleStudio中找到自定义log4j appender,但可以在Mule Standalone中使用

时间:2014-03-26 22:58:19

标签: java log4j mule esb mule-studio

我正在尝试进行一些开发,我正在使用log4j将一些事件记录到我们的数据库中。我创建了JDBC appender的子类,因此我们可以正确地与数据库进行交互。

log4j.properties文件位于src / main / resources。

然而,当我跑掉MuleStudio时,我得到了这个输出:

log4j:ERROR Could not instantiate class [com.mycompany.mule.log.appender.MySuperAppender].
java.lang.ClassNotFoundException: com.mycompany.mule.log.appender.MySuperAppender
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at org.apache.log4j.helpers.Loader.loadClass(Loader.java:198)
    at org.apache.log4j.helpers.OptionConverter.instantiateByClassName(OptionConverter.java:326)
    at org.apache.log4j.helpers.OptionConverter.instantiateByKey(OptionConverter.java:123)
    at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:752)
    at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:735)
    at org.apache.log4j.PropertyConfigurator.parseCatsAndRenderers(PropertyConfigurator.java:639)
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:504)
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:547)
    at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:483)
    at org.apache.log4j.LogManager.<clinit>(LogManager.java:127)
    at org.apache.log4j.Logger.getLogger(Logger.java:117)
    at org.mule.module.logging.LoggerReferenceHandler.<init>(LoggerReferenceHandler.java:28)
    at org.mule.module.logging.MuleLogFactory.<init>(MuleLogFactory.java:41)
    at org.apache.commons.logging.LogFactory.<clinit>(LogFactory.java:32)
    at org.mule.module.launcher.DefaultMuleDeployer.<init>(DefaultMuleDeployer.java:33)
    at org.mule.tooling.server.application.ApplicationDeployer.main(ApplicationDeployer.java:87)
log4j:ERROR Could not instantiate appender named "DBappender".

我还在log4j.properties中指定了其他appender,并且这些appender加载正常。

我做了一些研究(大约三四个小时),这似乎是类加载器的一个问题。我按照the documentation尝试覆盖了类加载器但没有成功。我直接编辑了mule-deploy.properties文件(我无法从MuleStudio中找到&#34;正确的#34;方法)

loader.override=com.mycompany.mule.log.appender.MySuperAppender

我有点困惑,为什么它不能在MuleStudio中工作,但是当我在Mule-standalone实例中部署应用程序时,它工作正常。有什么想法吗?

0 个答案:

没有答案