如何重新执行Log4j“默认初始化过程”?

2024-04-18

在运行时我经常创建/修改log4j记录器、附加器、级别、布局有时需要将所有内容重置回默认值。

Log4j系统有明确的定义默认初始化过程 http://logging.apache.org/log4j/1.2/manual.html#defaultInit执行时log4j类被加载到内存中。有没有办法稍后在运行时以编程方式重新执行整个过程?

我找到了几个resetConfiguration()中的方法log4j文档,但不确定其中是否有任何一个会做默认初始化过程 http://logging.apache.org/log4j/1.2/manual.html#defaultInit does:

  • BasicConfigurator.resetConfiguration();
  • Hierarchy.resetConfiguration();
  • LogManager.resetConfiguration();

关于重置的任何其他建议log4j配置更受欢迎!谢谢。


根据文档 http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PropertyConfigurator.html为了doConfigure method:

从文件中读取配置。现有配置不会被清除或重置。如果您需要不同的行为,那么call resetConfiguration调用 doConfigure 之前的方法.

所以我相信调用LogManager.resetConfiguration()并回忆起PropertyConfigurator.configure()使用与启动时相同的文件将执行您想要的操作。

The resetConfiguration()方法记录在等级制度 http://www.devdaily.com/java/jwarehouse/jakarta-log4j-1.2.8/src/java/org/apache/log4j/Hierarchy.java.shtml class.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何重新执行Log4j“默认初始化过程”? 的相关文章

随机推荐