如何放置2个单独的log4j2 xml文件

时间:2019-02-05 13:12:36

标签: log4j2

我需要在我们的Web应用程序中设置两个不同的log4j2 xml文件,这些文件记录到2个不同的日志文件中(在不同目录中)。

此Web应用程序使用无法以任何方式修改的log4j配置:

System.setProperty("log.dir", dirLogs);
System.setProperty("log4j.configurationFile", "file://" + servletPath + "WEB-INF/log4j.xml");
this.accessLog = LogManager.getLogger("LOGGER_ACCESS"); 

用户可以将jars上传到此Web应用程序,并且这些jars也可以包含日志记录。这是一个用户尝试也使用log4j2的示例:

System.setProperty("log4j.configurationFile", PATH_TO_USER_LOG4J_XML);
confirmLog = LogManager.getLogger("LOGGER_CONFIRM");

但这不起作用。 Web应用程序日志记录有效,但用户日志记录无效。从记录器中打印信息,我们可以看到:

confirmLog = LOGGER_CONFIRM:OFF in AsyncContext@4c23524b
confirmLogClass = org.apache.logging.log4j.core.async.AsyncLogger

关闭。实际上,如果我们重新启动Web应用程序,则不会创建日志文件。

如何使用独立的配置同时运行这两个日志?

0 个答案:

没有答案