首页 > 解决方案 > Log4j2 可以同时配置 .xml 和 .properties 吗?

问题描述

如上,log4j2可以同时配置.xml和.properties吗?如果可以,在更改共享配置时,优先考虑什么?

标签: javalogginglog4jlog4j2

解决方案


这是直接答案

首先:为什么要拥有多个配置文件?在我看来,如果可能的话,您应该尝试将所有配置整理到一个文件中。

Log4J2的文档说自动配置将首先搜索系统属性“log4j.configurationFile”,它指向文件系统上的一个配置文件,该文件根据文件类型加载。

如果没有找到,它将搜索:

  1. 。特性
  2. .yml
  3. .json
  4. .xml

以该顺序。

这对我来说意味着你只能使用一个。

这提供了另一种方法

但是,您可以以编程方式配置记录器,它可以将配置文件与不同的配置集结合起来。

例如,如果您想将Configurator 方法与 XML 配置相结合,那么显然您必须使用 ConfigurationFactory,这是我以前从未做过的事情,但如果您了解 Log4J2 的布局,它看起来并不太难 -基本上扩展ConfigurationFactory,覆盖方法来配置东西,然后给Configurator工厂。

附加链接:

这是程序化配置文档

这是一篇对编程配置很有帮助的 Baeldung 文章


推荐阅读