有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何获取log4j2。从pom读取文件名的属性文件。springboot中的xml

我一直在网上搜索,可能错过了。但我试图在代码中实现的是,拥有一个log4j2。属性文件读取pom中定义的文件名。Spring启动项目中的xml。像下面这样

波姆。xml:

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

log4j2。特性:

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时,应该在中替换正确的值。 有什么建议我哪里出了问题吗


共 (1) 个答案

  1. # 1 楼答案

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

    Maven resource filtering not working - because of spring boot dependency

    下面的链接对此进行了解释

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

    在我的日志4J2中。属性文件i将“${”和“}”替换为“@”

    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
    

    很有魅力。谢谢大家的支持