我在Spring Boot应用程序中使用log4j2。这在所有方面都有效:re:不包括slf4j,包括log4j2等。
但是,当应用程序部署时,我需要为每个目标主机自定义文件。我已经创建了一个可以完成此任务的角色。最终我最终将log4j2.xml文件部署在另一个目录中,例如/prod/produsrX/data/log4j2.xml。
我正在使用spring-boot-maven-plugin“重新打包”目标来生成可执行的jar文件。似乎这并不重要,但这是问题中的一个数据点。
这应该是项目中最简单的部分。在我一直无法设置-Dlog4j.configurationFile之前,总是在大约3,000个网页上回显该建议,并且在Spring Boot 2.1.3中不起作用。
我找到的最有用的信息是this question。它讨论使用-Dlogging.config,因为必须在读取其他属性之前初始化日志记录。不幸的是,这也没有帮助。
我确实找到了一个建议在Java的-classpath参数中指定以上目录的示例。但这也无济于事。
有人知道如何获得Spring Boot应用程序来读取log4j2.xml文件吗?
答案 0 :(得分:0)
实际上必须将该属性放入应用程序上下文中(例如application.yml)。使用-D属性不起作用!
记录: config:/prod/produsrX/data/log4j2.xml#log4j.xml的完全限定名称