繁体   English   中英

在Spring Boot中,如何获取log4j2.properties文件以从pom.xml读取文件名

[英]How to get log4j2.properties file to read filename from pom.xml in Spring Boot

我一直在搜索互联网,但我可能错过了。 但是我想在我的代码中实现的是,让一个log4j2.properties文件读取Spring引导项目中pom.xml中定义的文件名。 像下面这样。

pom.xml:

<properties>
 <log.file>/expo/net/logs/xol/aws.log</log.file>
 <status.file>/export/net/logs/xol/tdlg.log</status.file>
</properties>

log4j2.properties:

appender.main.type=RollingFile
appender.main.name=MAIN
#appender.main.fileName=${log.file}
appender.main.filePattern=${log.file}.%d{yyyyMMddHH}
appender.main.layout.type=PatternLayout
appender.main.layout.pattern=%d{MM/dd/yyyy HH:mm:ss.SSS} %-5p  %highlight{%t}  %replace{%msg}{\n\r|\n|\r}{ }%n
appender.main.policies.type=Policies
appender.main.policies.time.type=TimeBasedTriggeringPolicy
appender.main.policies.time.interval=1
appender.main.policies.time.modulate=true

我的期望是在运行Maven时应替换正确的值。我在哪里出错的任何建议?

我想我找到了解决方案。 有人问过类似的问题。

Maven资源过滤不起作用-由于Spring Boot依赖性

在下面的链接中说明

https://docs.spring.io/spring-boot/docs/current/reference/html/howto-properties-and-configuration.html

在我的log4j2.properties文件中,我用“ @”替换了“ $ {”和“}”。

appender.main.type=RollingFile
appender.main.name=MAIN
#appender.main.fileName=@log.file@
appender.main.filePattern=@log.file@.%d{yyyyMMddHH}
appender.main.layout.type=PatternLayout
appender.main.layout.pattern=%d{MM/dd/yyyy HH:mm:ss.SSS} %-5p  %highlight{%t}  %replace{%msg}{\n\r|\n|\r}{ }%n
appender.main.policies.type=Policies
appender.main.policies.time.type=TimeBasedTriggeringPolicy
appender.main.policies.time.interval=1
appender.main.policies.time.modulate=true

像魅力一样工作。 谢谢大家的投入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM