以编程方式添加Log4J附加程序 [英] Adding Log4J appenders programmatically
问题描述
好,所以我有一个正在使用的愚蠢的库(documentum DFC),该库将检查Logger.getRootLogger().getAllAppenders().hasMoreElements() == false
是否存在,如果存在,它将把rootLogger级别重置为WARN
,此后将破坏我的日志记录.因此,为了阻止这种情况,我正在尝试向根记录器添加一个追加器,以查看是否可以停止执行该代码.但是什么时候
我打
Ok, so I have this stupid library I'm using (documentum DFC), which does a check to see if Logger.getRootLogger().getAllAppenders().hasMoreElements() == false
, if so, it resets my rootLogger level to WARN
, which destroys my logging after that. So in an effort to stop this, I'm attempting to add an appender to the root logger just to see if I can get it to stop doing that code. However when
I call
Logger.getRootLogger().addAppender(new ConsoleAppender());
该功能仍显示为false.有人碰到这个吗?
Logger.getRootLogger().addAppender(new ConsoleAppender());
that function is still coming up false. Has anyone run into this?
我使用的是jboss 6附带的任何log4j版本,它在jar文件名中都没有说明.
I'm using whatever log4j version comes with jboss 6, it doesn't say in the jar file name.
推荐答案
我确实有类似的问题.我可以添加一个追加程序,将其写入内存字符串,但这是行不通的. 对我来说,似乎JBoss确实以某种方式使用/修改了log4J,不再可能进行此代码修改,另请参见: https://issues.jboss.org/browse/JBAS-9318
I do have similar problems. I can add an appender, writing to a memory string but this never works. For me it seems like JBoss does use/modify log4J in a way, that this code modification is no longer possible, see also here: https://issues.jboss.org/browse/JBAS-9318
这篇关于以编程方式添加Log4J附加程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!