Log4j2 通过根类路径中的 log4j2.xml
配置文件与 Spring Boot 很好地配合使用,正如文档所述。
但是,当尝试将此文件移动到其他位置时,我无法在启动时将新位置传递给 Spring。从 文档中:
可以通过在类路径中包含适当的库来激活各种日志记录系统,并通过在类路径的根目录中或 在 Spring 环境属性
logging.config
指定的位置 提供合适的配置文件来进一步自定义。
我尝试使用 Java 系统属性设置新位置
java -jar -Dlogging.config="classpath:/config/log4j2.xml" target/app.jar
或使用包含相关属性的外部 application.properties
logging.config=classpath:/config/log4j2.xml
但我经常收到以下错误消息。
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
原文由 Michele Palmia 发布,翻译遵循 CC BY-SA 4.0 许可协议
如 Spring 参考文档 中所述,不能在应用程序属性中设置
logging.config
属性,因为它们是在日志记录初始化后读取的。解决方案是以这种方式提供外部日志记录配置的路径: