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

时间:2013-01-25 18:05:29

标签: java unix jar log4j

  

可能重复:
  Dynamically Changing log4j log level

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

-Dlog4j.configuration=file:[filename]

使用更改运行时的属性文件 java ,它没有用。我需要在 sh 文件中执行此操作 谁能告诉我这是怎么回事?我也尝试过添加

-Dlog4j.defaultInitOverride=true

2 个答案:

答案 0 :(得分:1)

可以在运行时覆盖log4j属性文件。如果你不能,你可能会遇到这种情况:

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

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

答案 1 :(得分:0)

这是一个很好的分步教程(带有很好的截图!),它显示了几种在运行时更改log4j设置的不同选择: