Java 如何在运行时更改log4j2的配置文件?

Java 如何在运行时更改log4j2的配置文件?,java,logging,configuration,log4j,log4j2,Java,Logging,Configuration,Log4j,Log4j2,我想在运行时在log4j2中打开调试语句。根据文件,我们可以这样做。我将log4j.xml文件保存在默认包中,然后用它制作jar。因为我不能修改jar,所以我使用Dlog4j.configuration=/path/to/log4j.xml指定了xml文件。然而,这是行不通的。我用file://uri尝试了所有的组合,但它仍然没有选择xml 用于指定配置文件位置的系统属性与log4j-1.x不同。 在log4j2中,属性是“log4j.configurationFile” 因此,如果配置文件位于

我想在运行时在log4j2中打开调试语句。根据文件,我们可以这样做。我将log4j.xml文件保存在默认包中,然后用它制作jar。因为我不能修改jar,所以我使用Dlog4j.configuration=/path/to/log4j.xml指定了xml文件。然而,这是行不通的。我用file://uri尝试了所有的组合,但它仍然没有选择xml

用于指定配置文件位置的系统属性与log4j-1.x不同。 在log4j2中,属性是“log4j.configurationFile”

因此,如果配置文件位于jar文件中,您将使用:

-Dlog4j.configurationFile=jar:file:///C:/path/to/jarfile.jar!/path/to/log4j2.xml

(我假设您在配置中设置了
监视器Interval
,如下所示:)

必须将以下内容添加到配置文件中:

<Configuration monitorInterval="60" >