无法*log4j2-spring.xml
通过via属性占位符直接替换属性,因为它不在Spring的范围之内,仅用于配置目的。
*
log4j2-spring.xml
但是,您可以利用此处
Log4j2概述的属性替换的即用型功能。
步骤1- 在
log4j2-spring.xml下面指定属性名称及其变量
<Configuration status="warn"> <Properties> <Property name="someProp">${bundle:test:someKey}</Property> </Properties> <!--other configs --></Configuration>第2步 -在日志配置中使用上面定义的属性, 例如后缀以记录文件名
<Appenders> <File name="file" fileName="/path/to/logs/app-${someProp}.log"> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p %-40c{1.} - %m%n"/> </File></Appenders>第3步 -创建一个 捆绑包 ( 即属性文件 )以保存属性值, 例如test.properties
# properties for log4j2someKey=somevaluesomeKey1=somevalue1
在您的情况下,此文件将包含您希望在log4j2配置中使用的yaml中的值。如果这些属性也可以在应用程序中使用,它们将在yaml中复制,并且捆绑包(
即属性文件 )应该是可以接受的折衷方案,因为spring不能将它们注入log4j2配置中。
如果需要更多信息,请在评论中告知。



