2017-03-06 140 views
2

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

我发现这种方式并不理想,就像我的项目的其他部分从主配置文件中读取值并将它们放入系统变量中以供log4j拾取,因为我想避免编写代码来在自己的属性文件之外设置log4j。

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

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

+0

[如何在用户定义的.properties文件中引用系统属性?](http://stackoverflow.com/questions/3737107/how-to-reference-a-system-property-within- a-user-defined-properties-file) –

+2

@PaulSweatte问题不是重复的,当然也不是引用链接的重复。 –

回答

0

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

建议从外部属性文件获取Log4j2配置属性作为Log4j2 JIRA问题跟踪器上的新功能请求,这可能是一个好主意。

相关问题