Spring-boot的application.properties文件可以通过log4j2.xml进行配置吗?

时间:2019-03-14 18:24:37

标签: spring-boot log4j2

我想在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的便利性来进行日志记录配置。

任何对我做错事情的见解都将受到赞赏。谢谢

1 个答案:

答案 0 :(得分:0)

如果我正确理解您的问题,则说明您正在使用log4j2的{​​{3}}功能。

您可以在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文件中的值。