如何禁用log4j servlet初始化?

时间:2015-10-07 19:52:30

标签: java logging log4j

方案如下: 我有一个现有的Web应用程序,它通过servlet初始化log4j:

grep -oP 'sproc=\K.+?(?= +\w+=)' file
C:\\Program Files\\Windows NT\\Accessories\\wordpad.exe

不,我想通过log4j.configuration中传递的外部文件覆盖此初始化JVM ardument:-Dlog4j.configuration = file:/usr/local/log4j.xml

当我启动应用程序服务器时,我可以看到首先拾取外部文件,但是通过初始化servlet的内部文件将覆盖更改。

我的问题是如何通过一些JVM参数配置(最好)禁用servlet初始化,而不必修改应用程序web.xml和/或初始化servlet? 或者有没有办法指定初始化应该完成的顺序?

由于

1 个答案:

答案 0 :(得分:0)

log4j init servlet不是核心log4j的一部分。我假设您正在使用此处教程中建议的init servlet https://logging.apache.org/log4j/1.2/manual.html 在这种情况下,您在servlet init file参数中指定的任何文件都将用于init。

我不认为你可以在不修改web.xml或init servlet

的情况下完成这项工作