以编程方式添加Log4J附加器[英] Adding Log4J appenders programmatically

本文是小编为大家收集整理的关于以编程方式添加Log4J附加器的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。

问题描述

好吧,所以我正在使用这个愚蠢的库(documentum dfc),它可以检查一下Logger.getRootLogger().getAllAppenders().hasMoreElements() == false是否Logger.getRootLogger().getAllAppenders().hasMoreElements() == false,如果是的,它将我的rootlogger级别重置为WARN,在那之后摧毁了我的日志记录.因此,为了停止此操作,我试图在根记录器中添加一个appender,只是为了查看是否可以让它停止执行该代码.但是什么时候 我打电话

Logger.getRootLogger().addAppender(new ConsoleAppender());该功能仍在false.有人遇到过吗?

我正在使用JBoss 6随附的任何Log4J版本,它没有在JAR文件名中说.

推荐答案

我确实有类似的问题.我可以添加一个appender,写入内存字符串,但这永远无法使用. 对我来说,JBoss似乎确实在某种程度上使用/修改Log4J,此代码修改已不再可能,请参见此处: https://issues.jboss.org/browse/jbas-9318

本文地址:https://www.itbaoku.cn/post/1575122.html

问题描述

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()); that function is still coming up false. Has anyone run into this?

I'm using whatever log4j version comes with jboss 6, it doesn't say in the jar file name.

推荐答案

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