我一直在搜索互联网,我可能错过了。但是我想在我的代码中实现的是,在Spring启动项目的pom.xml中定义一个log4j2.properties文件读取文件名。像下面的东西。
的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时应该替换正确的值。 我出错的任何建议?
答案 0 :(得分:0)
我想我找到了解决方案。有人问了类似的问题。
Maven resource filtering not working - because of spring boot dependency
以下链接说明
在我的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
像魅力一样工作。谢谢大家的所有投入。