【问题标题】:log4j: ERROR Could not instantiate class [MyClass] in Mule and pointing to the right classlog4j:错误无法在 Mule 中实例化类 [MyClass] 并指向正确的类
【发布时间】:2014-04-09 02:43:45
【问题描述】:

在我的 Mule 应用程序中,我向特定于应用程序的 log4j.properties 添加了一个自定义附加程序,并且我创建了一个名为 MyClass 的类来扩展 AppenderSkeleton。但是,当我尝试添加时:

log4j.appender.myCustomAppender=MyClass

我收到以下错误:

log4j:ERROR Could not instantiate class [MyClass]

在Mule项目中(在mule studio中),类位于:myapp/src/main/java/MyClass.java 我的 log4j conf 文件位于:myapp/src/main/resources/log4j.properties

我没有为该类设置特定的包,我不确定如何从 log4j.properties 文件中指向正确的类。进入 MyClass 的正确方法是什么?

需要注意的一点是,一旦将应用程序部署为独立的 mule 应用程序,路径结构将更改为:

[mule-dir]/apps/my-app/classes/MyClass.java

和:

[mule-dir]/apps/my-app/classes/log4j.properties

所以希望有一种方法可以从 Mule Studio 和已部署的应用程序进入课程。

谢谢,

谢谢,

【问题讨论】:

    标签: java logging mule mule-studio


    【解决方案1】:

    您可能无法让自定义附加程序在 Studio 中工作,但它应该在 Standalone 中工作。主要问题是记录器在应用程序之前启动。见这里:Mule ESB 3.4.0 CE: Unable to find custom log4j appender in MuleStudio, but works in Mule Standalone

    【讨论】:

    • 所以我应该只使用类的相对路径,如:log4j.appender.myCustomAppender=MyClass 因为这两个文件最终会在同一个目录中?
    猜你喜欢
    • 1970-01-01
    • 2011-04-16
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 2017-07-04
    • 1970-01-01
    相关资源
    最近更新 更多