首页 > 解决方案 > spring-boot application.properties 文件可以使用 log4j2.xml 配置吗?

问题描述

我想在 application.properties 中定义高级文件日志记录,以便利用我的 log4j2.xml 文件配置。我的 log4j2 配置本身工作正常,但是我希望控制来自 application.properties 文件的日志记录级别和日志文件和路径信息。我在应用程序的 pom 文件中有 spring-boot-starter-log4j2 依赖项。

在 log4j2.xml 我有作为属性之一

<Property name="LOG_FILE">${LOG-DIR}/test.log</Property>

,其中 LOG-DIR 在同一文件的另一个(先前)属性中定义。在我的 application.properties 文件中,我有

logging.file=LOG_FILE 

作为一个属性,加上几个级别的属性,例如

logging.level.org.springframework.web=DEBUG

我的 application.properties 文件中定义的这些与日志相关的属性都没有用于构建相应的日志文件。同样,当我简单地单独使用 log4j2.xml 时,它工作正常,但想利用 application.properties 的便利性进行日志配置。

非常感谢对我做错了什么的任何见解。谢谢你

标签: spring-bootlog4j2

解决方案


如果我正确理解了您的问题,那么您正在查看.log4j2

您可以在文件中定义日志记录属性,application.properties如下所示:

log.file.path=/myDir/logpath 

Property然后定义如下的属性查找log4j2.xml

<Configuration>  
  <Properties>  
      <property name="LOG_FILE">${bundle:application:log.file.path}</property> 
  </Properties>  

现在所有的属性都可以log4j2.xml${propertyName}符号来引用,最终指向application.properties文件中的值。


推荐阅读