我有一个属性文件,比方说abc.properties和log4j2.properties文件。我无法访问abc.properties文件中存在的logs.dir属性到log4j2.properties文件中。这样做是为了根据不同的环境切换日志文件位置。感谢。
答案 0 :(得分:0)
如果abc.properties
和log4j2.properties
配置文件位于同一目录中,请使用logs.dir
文件中的以下方式访问log4j2.properties
-
property.fileName=${bundle:abc:logs.dir}
在评论中添加有关环境的更多详细信息 -
项目结构 - 一个简单的Maven项目。
依赖关系 - 我尝试使用版本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
文件中指定的路径上生成的。