weblogic log4j.xml更改记录器的“级别值”(即时)

时间:2014-02-24 18:48:23

标签: java xml logging log4j

我以为我找到了一个解决方案,可以通过利用这里引用的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文件。提前感谢任何见解。

1 个答案:

答案 0 :(得分:1)

有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())
    }
  }
}