如何在项目中包含多个 log4j2.xml 文件?

How to include multiple log4j2.xml files in a project?

我的项目由多个模块组成。每个模块可以单独 运行 并有一个单独的 log4j2.xml

假设项目 X 由三个模块组成:

  1. 模块 A 有 log4j2.xml(包含 Loggers 和 Appenders)
  2. 模块 B 有 log4j2.xml
  3. 模块 C 有 log4j2.xml

在集成模块时,我必须手动将 LoggersAppenders 从每个模块的 log4j2.xml 复制粘贴到项目特定 log4j2.xml 文件。

为了避免复制粘贴,我寻找 XInclude 来包含多个文件,但它仅在 Appenders 和 Loggers 在不同的文件中时才支持。 http://logging.apache.org/log4j/2.x/manual/configuration.html#XInclude

如何对多个log4j2.xml文件进行XInclude?

非常感谢任何帮助。

在Log4j2 v2.6版本中,增加了组合配置功能。使用此功能,允许多个 log4j2 配置文件。

参考文献
- https://issues.apache.org/jira/browse/LOG4J2-494
- https://github.com/Kamal15/Log4j2Examples/blob/master/src/main/java/in/co/nmsworks/log4j2/examples/CompositeConfigurationExample.java