当缺少自定义配置文件时,如何返回到log4j2.xml

当缺少自定义配置文件时,如何返回到log4j2.xml,log4j2,Log4j2,我的环境:JBoss EAP 7,类路径中有一个“log4j2.xml”(历史行为) 我想介绍一种方法,可以创建一个(非强制性的)自定义log4j2配置文件(每个EAR应用程序),但如果缺少自定义配置文件,仍然可以使用(回退)到(现有的)“log4j2.xml” 对我来说,实现这一点的唯一方法是使用“log4j2.configurationFile”属性(在log4j2.component.properties中)并设置“log4j2.xml”和自定义配置文件名(用逗号分隔),从而使用组合配置

我的环境:JBoss EAP 7,类路径中有一个“log4j2.xml”(历史行为)

我想介绍一种方法,可以创建一个(非强制性的)自定义log4j2配置文件(每个EAR应用程序),但如果缺少自定义配置文件,仍然可以使用(回退)到(现有的)“log4j2.xml”

对我来说,实现这一点的唯一方法是使用“log4j2.configurationFile”属性(在log4j2.component.properties中)并设置“log4j2.xml”和自定义配置文件名(用逗号分隔),从而使用组合配置

但是如果缺少自定义文件,即使是通用的“log4j2.xml”也会被忽略

当查看log4j2(v2.12.1)代码()时,我可以看到,如果缺少一个配置文件,则不会使用(列表中的)任何配置文件

有没有办法实现我想要的行为


谢谢

如果您使用Spring,配置文件似乎支持您想要的行为。谢谢@TimBiegeleisen但我没有使用Spring如果用户希望覆盖提供的配置,为什么不告诉用户指定系统属性
“log4j.configurationFile”
?请参阅log4j2手册的第页。如果这不令人满意,那么您可以创建一个感谢@D.B.,感谢您的评论。也许我不够清楚。所以我编辑了我的问题,说我正在使用一个应用服务器,它可以是多个应用程序的公用服务器。目前,所有应用程序都使用(默认情况下)类路径中的“log4j2.xml”。