weblogic log4j.xml 更改记录器的"level value"(即时)



我想我已经找到了一个解决方案,可以通过使用这里引用的jsp标记来动态更改自定义appender的级别值;

http://nayidisha.com/techblog/mycontent/posts/nd-utils/site/loggerAdmin.html

不幸的是,链接断了,所以我无法下载该实用程序。这篇文章来自2009年,似乎与我的需求完全匹配。有人对如何完成有什么想法吗?下面是一个例子:

[log4j.xml]摘录

<logger name="EXAMPLE_LOGGER" additivity="false">
<level value="DEBUG" />
<appender-ref ref="EXXAMPLE_LOG_APPENDER" />
</logger>

我正在寻找一些方法来动态修改"级别值",而无需重新启动托管服务器或轮询log4j.xml文件。提前感谢您的任何见解。

有一个WebLogic日志库可以做到这一点。您可以实现利用此库的LOG4J Logger。我们在以前的工作中已经这样做了。我想这就是图书馆:http://docs.oracle.com/cd/E21764_01/web.1111/e13739/config_logs.htm#i1011558

import weblogic.logging.log4j.Log4jLoggingHelper;
import weblogic.logging.LoggerNotAvailableException;
public class MyLog4jTest {
public void testWLSLog4j() {
try {
Logger logger = Log4jLoggingHelper.getLog4jServerLogger();
logger.addAppender(myAppender); // The Appender is configured using either the log4j props file or other custom mechanism.
logger.info("Test log message");
} catch(LoggerNotAvailableException lex) {
System.err.println("Unable to get a reference to the log4j Logger: "+
lex.getMessage())
}
}
}