如上所述,可以使用.xml和.properties同时配置log4j2吗?如果可以,在更改共享配置时,优先考虑什么?
jutyujz01#
首先:为什么要有多个配置文件?在我看来,如果可能的话,您应该尝试将所有配置整理成一个文件。log4j2的文档说明,自动配置将首先搜索系统属性“log4j.configurationfile”,该属性指向文件系统上的一个配置文件,该文件是根据文件类型加载的。如果找不到,它将搜索:.属性yml先生.json文件.xml文件按这个顺序。这对我来说意味着你只能用一个。
但是,您可以通过编程方式配置记录器,记录器可以将一个配置文件与一组不同的配置组合在一起。例如,如果您想将configurator方法与xml配置相结合,那么显然您必须使用configurationfactory,这是我以前从未做过的事情,不过如果您了解log4j2的布局,看起来并不太困难—基本上是扩展 ConfigurationFactory ,重写方法来配置内容,然后 Configurator 工厂。其他链接:以下是编程配置文档下面是一篇关于编程配置的有用的baeldung文章
ConfigurationFactory
Configurator
1条答案
按热度按时间jutyujz01#
这是直接的答案
首先:为什么要有多个配置文件?在我看来,如果可能的话,您应该尝试将所有配置整理成一个文件。
log4j2的文档说明,自动配置将首先搜索系统属性“log4j.configurationfile”,该属性指向文件系统上的一个配置文件,该文件是根据文件类型加载的。
如果找不到,它将搜索:
.属性
yml先生
.json文件
.xml文件
按这个顺序。
这对我来说意味着你只能用一个。
这提供了另一种方法
但是,您可以通过编程方式配置记录器,记录器可以将一个配置文件与一组不同的配置组合在一起。
例如,如果您想将configurator方法与xml配置相结合,那么显然您必须使用configurationfactory,这是我以前从未做过的事情,不过如果您了解log4j2的布局,看起来并不太困难—基本上是扩展
ConfigurationFactory
,重写方法来配置内容,然后Configurator
工厂。其他链接:
以下是编程配置文档
下面是一篇关于编程配置的有用的baeldung文章