使用一个属性文件中的属性到log4j2属性文件中

时间:2017-10-05 22:55:24

标签: log4j2

我有一个属性文件,比方说abc.properties和log4j2.properties文件。我无法访问abc.properties文件中存在的logs.dir属性到log4j2.properties文件中。这样做是为了根据不同的环境切换日志文件位置。感谢。

1 个答案:

答案 0 :(得分:0)

如果abc.propertieslog4j2.properties配置文件位于同一目录中,请使用logs.dir文件中的以下方式访问log4j2.properties -

property.fileName=${bundle:abc:logs.dir}

在评论中添加有关环境的更多详细信息 -

项目结构 - 一个简单的Maven项目。

enter image description here

依赖关系 - 我尝试使用版本log4j2 version 2.8.2,以下是pom.xml中的依赖关系 -

    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.8.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.8.2</version>
    </dependency>

abc.properties的内容 -

logs.dir = ./logs/abcfile.log

log4j2的相关内容 -

appender.rolling.type = RollingFile
appender.rolling.name = fileLogger
appender.rolling.fileName=${bundle:abc:logs.dir}
appender.rolling.filePattern=${basePath}app_%d{yyyyMMdd}.log.gz

正如您在屏幕截图中看到的那样,日志是在abc.properties文件中指定的路径上生成的。