如何在运行时覆盖jar中的log4j属性文件

2022-09-04 23:33:37

可能的重复:
动态更改 log4j 日志级别

我有一个包含log4j属性文件的jar文件。我尝试使用

-Dlog4j.configuration=file:[filename]

运行时使用java更改属性文件,但它不起作用。我需要在sh文件中执行此操作 任何人都可以告诉我如何执行此操作吗?我还尝试添加

-Dlog4j.defaultInitOverride=true

答案 1

可以在运行时覆盖 log4j 属性文件。如果您不能:

  1. 在您的jar或代码中的某个地方,log4j系统是手动初始化的,例如

     URL url=loader.getResource(LOGGER_CONFIG_FILE)
     DOMConfigurator.configure(url);
    

答案 2

这是一个很好的分步教程(带有很好的屏幕截图!),其中显示了在运行时更改log4j设置的几种不同替代方案:


推荐