log4j配置更改侦听器

时间:2011-03-16 15:06:12

标签: java jboss log4j

我的应用程序由于某些原因以编程方式重新配置log4j(在某些情况下),即自定义appender已注册。但是,一旦有人手动编辑log4j配置文件,更改就会丢失。 如何确保我们对log4j配置的编程更改不会丢失?或者如何在log4j重新配置时收到通知?

该应用程序在JBoss上运行,并且在编辑$JBOSS/server/default/conf/jboss-log4j.xml文件时会出现问题,但我认为该问题并非特定于JBoss AS。

2 个答案:

答案 0 :(得分:0)

您可以,我想定期轮询Log4j API,询问您的自定义附加程序是否已附加(使用Category.isAttached(appender)),并在必要时重新附加。它相当笨重,但我不知道有任何通知机制。

答案 1 :(得分:0)

是否通过在代码中明确调用configureAndWatch()来配置log4j?

如果是这样,简单的解决方法是不调用“andWatch”方法,只需定期configure()

是否有理由不能在属性文件中配置这些自定义appender,而不是在代码中专门配置?