将log4j2属性替换为使用另一个文件中定义的属性

时间:2017-03-06 22:25:24

标签: java logging configuration log4j log4j2

我正在使用log4j2开发一个项目,并且在我的log4j2.properties中有一些可配置的值。该项目还将包含其他组件的配置文件。理想情况下,我想将所有配置保存在一个地方,所以我希望能够在同一个文件中为log4j设置那些可配置的值,这样我就没有两个不同的地方,其中配置值受制于改变(例如包括环境变量)。

我发现的方法不太理想,比如我的项目的其他部分从主配置文件中读取值并将它们放入系统变量中以便由log4j获取,因为我想避免编写代码以在其自己的属性文件之外设置log4j。

有没有办法直接引用log4j2.properties中其他属性文件中定义的值?如果没有,这可能是log4j2可以使用的一种配置文件格式,如XML或JSON吗?

为了澄清,我知道log4j2中可用的查找方法的各种方法,但由于我将这些值存储在不同的文件中,因此不能直接引用该文件,因为它们都不是“干净”。

1 个答案:

答案 0 :(得分:0)

Log4j2配置有一个属性部分,如果事先知道所有键,您可以从另一个lookup获取每个值,如system properties lookup或自定义查找。

建议从Log4j2 JIRA问题跟踪器获取外部属性文件中的Log4j2配置属性作为新功能请求。