【问题标题】:weblogic log4j.xml changing the "level value" of a logger (on-the-fly)weblogic log4j.xml 更改记录器的“级别值”(即时)
【发布时间】:2014-02-24 18:48:22
【问题描述】:

我想我已经找到了一个解决方案,可以通过使用此处引用的 jsp 标记动态更改自定义附加程序的级别值;

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

很遗憾,链接已损坏,因此我无法下载该实用程序。这篇文章来自 2009 年,似乎完全符合我的需要。有人对如何完成有任何想法吗?下面是一个例子:

[log4j.xml] sn-p

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

我正在寻找某种方法来即时修改“级别值”,而无需重新启动托管服务器或轮询 log4j.xml 文件。提前感谢您提供任何见解。

【问题讨论】:

标签: java xml logging log4j


【解决方案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())
    }
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-30
    • 1970-01-01
    • 2014-09-01
    相关资源
    最近更新 更多