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

标签 java xml logging log4j

我认为我已经找到了一种解决方案,能够通过利用此处引用的 jsp 标签来动态更改自定义附加程序的级别值;

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

关于java - weblogic log4j.xml 更改记录器的 "level value"(即时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21996341/

相关文章:

java - 更改对话框文本 Android

java - 从 groovy 调用 Spring 组件

java - 计算字符串中连续重复出现的字符数

java - java中SAX解析器的问题

python - 如何从 Odoo 10 中的自定义模块修改 noupdate ="1"XML 记录?

android - 我应该在我的应用程序中使用 Log.d 吗?

java - 使用用户输入创建二维数组并查找特定列的总和

php - 如何在 PHP 中清理/验证 XML 文件? PC数据错误

java - 是否可以将输出缓冲到 Log4j Mail Appender?

python - 登录异步函数时如何使用request_id?