在我的Mule应用程序中,我在应用程序特定的log4j.properties中添加了一个自定义appender,并且我创建了一个名为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文件中指向正确的类。 ge到MyClass的正确方法是什么?
需要注意的一点是,一旦将应用程序部署为独立的mule应用程序,路径结构将更改为:
[mule-dir]/apps/my-app/classes/MyClass.java
和
[mule-dir]/apps/my-app/classes/log4j.properties
所以希望有一种方法可以从Mule Studio和部署的应用程序进入课程。
谢谢,
谢谢,
答案 0 :(得分:0)
您可能无法在Studio中使用自定义appender,但它应该在Standalone中运行。主要问题是记录器是在应用程序之前启动的。见这里:Mule ESB 3.4.0 CE: Unable to find custom log4j appender in MuleStudio, but works in Mule Standalone