在log4j2.xml中使用Spring Boot应用程序属性

我正在基于Spring Boot" title="Spring Boot">Spring Boot的Web应用程序上工作,并希望使用log4j2作为记录器实现。

使用 文件中定义的日志记录配置,一切正常。

什么不起作用:我想在log4j2-spring.xml文件中使用属性占位符,该占位符应从用于配置Spring Boot 的

文件中定义的属性中解析。

这可能吗?如果是,怎么办?

回答:

*log4j2-spring.xml

但是,您可以利用此处Log4j2概述的属性替换的即用型功能。

log4j2-spring.xml下面指定属性名称及其变量

<Configuration status="warn">

<Properties>

<Property name="someProp">${bundle:test:someKey}</Property>

</Properties>

<!--other configs -->

</Configuration>

-在日志配置中使用上面定义的属性, 例如后缀以记录文件名

<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>

-创建一个 ( 即属性文件 )以保存属性值, 例如test.properties

# properties for log4j2

someKey=someValue

someKey1=someValue1

在您的情况下,此文件将包含您希望在log4j2配置中使用的yaml中的值。如果这些属性也可以在应用程序中使用,它们将在yaml中复制,并且捆绑包(

即属性文件 )应该是可以接受的折衷方案,因为spring不能将它们注入log4j2配置中。

如果需要更多信息,请在评论中告知。

以上是 在log4j2.xml中使用Spring Boot应用程序属性 的全部内容, 来源链接: utcz.com/qa/434610.html

回到顶部