按照the documentation,Log4j2支持通过在configurationFile变量中传递配置文件列表来创建复合配置:

log4j2.configurationFile: log4j2-local.yaml,log4j2-base.yaml


另一方面,Spring使用变量logging.config:

logging.config: classpath:log4j2-local.yaml


我正在寻找一种使Spring Boot中的log4j2的复合配置工作的方法,但是我还没有成功。我也找不到有关该主题的文档。

到目前为止,我已经尝试了以下操作,但无济于事:


在logging.config中传递文件列表
在application.yaml中的log4j2.configurationFile变量中设置列表
在资源文件夹中的log4j2.component.properties文件中的log4j2.configurationFile变量中设置列表。
通过Java命令在LOG4J_CONFIGURATION_FILE环境变量中传递列表。


How to use Log4J2 composite configuration with Spring Boot中回复
对我不起作用。不知道那是因为他们使用的是XML配置而不是yaml,但事实并非如此。

有人可以给我指点吗?在Spring Boot中执行此操作的正确方法是哪种?或者至少是一种可行的方式。
提前致谢。

最佳答案

它可以与以下xml配置一起使用:

application.yml

logging.config: {classpath:log4j2-base.xml, classpath:log4j2-local.xml}

我认为与yml-configuration应该相同。

关于java - Spring Boot中的Log4j2 Composite Configuration支持,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53321032/

10-13 04:13