我想在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的便利性来进行日志记录配置。
任何对我做错事情的见解都将受到赞赏。谢谢
答案 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
文件中的值。