【问题标题】:Using log4j2 property substitution with properties defined in another file将 log4j2 属性替换与另一个文件中定义的属性一起使用
【发布时间】:2023-03-30 09:08:01
【问题描述】:

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

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

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

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

【问题讨论】:

标签: java logging configuration log4j log4j2


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-05
    • 2013-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-15
    • 1970-01-01
    相关资源
    最近更新 更多