java - 将 log4j2 属性替换与另一个文件中定义的属性一起使用

标签 java logging configuration log4j log4j2

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

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

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

澄清一下,我知道 log4j2 中可用的各种查找方法,但由于我将这些值存储在不同的文件中,因此没有一个像能够直接引用该文件那样“干净”。

最佳答案

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

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

关于java - 将 log4j2 属性替换与另一个文件中定义的属性一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42636759/

相关文章:

Java 父类(super class) catch 和子类 catch

java - 客户端/服务器 Web 应用程序的代码覆盖率

java - Selenium 网络驱动程序 : IE can't find radio buttons nor checkboxes for using click() on them

java - org.apache.commons.imaging.ImageReadException : Couldn't read magic numbers to guess format

python - 如何在 Python 中创建新的自定义记录器函数

java - neo4j 记录器不会归档

android - 适用于 Android 的 Facebook SDK v.4 : errors on Eclipse

javascript - 在 express 中间件中记录请求和响应

spring-boot - Spring Boot 的 application.yml 与 application.properties

configuration - 在 IIS 中的 ISAPI 筛选器上调用 LoadLibraryEx