Java 忽略依赖项jar中的log4j2.properties

Java 忽略依赖项jar中的log4j2.properties,java,maven,log4j2,Java,Maven,Log4j2,我有一个Maven项目,运行正常。我正在使用log4j2.xml文件来配置日志记录。直到今天,一切都很顺利。但是现在,我已经包含了一个第三方jar的依赖项,它有自己的log4j2.properties文件。不幸的是,这将覆盖我自己的配置 有什么方法可以让我忽略,排除。。。该属性文件?您可以添加一个选项,使用 -Dlog4j.configuration=path/to/my.properties 这比排除每次新库试图覆盖属性文件的情况要好。实际上,其他答案是不正确的,因为它们建议您使用log4j

我有一个Maven项目,运行正常。我正在使用
log4j2.xml
文件来配置日志记录。直到今天,一切都很顺利。但是现在,我已经包含了一个第三方
jar
的依赖项,它有自己的
log4j2.properties
文件。不幸的是,这将覆盖我自己的配置


有什么方法可以让我忽略,排除。。。该属性文件?

您可以添加一个选项,使用

-Dlog4j.configuration=path/to/my.properties

这比排除每次新库试图覆盖属性文件的情况要好。

实际上,其他答案是不正确的,因为它们建议您使用log4j 1.x使用的系统属性,而不是log4j 2使用的属性

对于log4j2,您希望使用
-Dlog4j2.configurationFile=/path/to/log4j2.xml
。如果只指定
-Dlog4j2.configurationFile=log4j2.xml
,则Log4j将在类路径上查找该文件。显然,名字可以是你想要的任何东西。Log4j还支持将系统属性放入名为
log4j2.component.properties
的文件中,因此如果不想在命令行中指定它们,可以将它们包含在应用程序中具有该名称的Java属性文件中


无论您做什么,您都应该向第三方打开一个bug,因为将日志配置文件放在库jar中是一个糟糕的做法

你的方法比我的容易。谢谢你的洞察力。