Java monitorInterval在log4j2中不工作

Java monitorInterval在log4j2中不工作,java,logging,log4j,log4j2,error-logging,Java,Logging,Log4j,Log4j2,Error Logging,我尝试在应用程序中使用log4j2,以允许在运行时动态重新配置日志级别。但我无法成功地完成监视间隔工作。控制台和文件附加器工作正常。这是我的log4j2.xml <?xml version="1.0" encoding="UTF-8"?> <Configuration monitorInterval="5"> <Appenders> <Console name="consoleAppender" target="SYSTEM_OUT"> <

我尝试在应用程序中使用log4j2,以允许在运行时动态重新配置日志级别。但我无法成功地完成监视间隔工作。控制台和文件附加器工作正常。这是我的log4j2.xml

<?xml version="1.0" encoding="UTF-8"?>
<Configuration monitorInterval="5">
<Appenders>
<Console name="consoleAppender" target="SYSTEM_OUT">
  <PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
</Console>
<File name="fileAppender" fileName="learning.log" append="true">
  <PatternLayout pattern="%t %-5p %c{2} - %m%n"/>
</File>
</Appenders>

<Loggers>
<Root level="error">
  <!--  <AppenderRef ref="consoleAppender"/>-->
  <AppenderRef ref="fileAppender"/>
</Root>
</Loggers>  
</Configuration>


请帮助查找问题。谢谢

如果在Eclipse中运行时遇到此问题,请注意Eclipse将把log4j2.xml文件从${project}/src复制到${project}/bin。Log4j将在类路径中加载log4j2.xml文件,即${project}/bin。如果现在修改src/文件夹中的另一个配置文件,则在Eclipse检测到需要重建之前,该文件可能不会复制到bin/文件夹。也许只有对.java文件的更改才会触发重建

因此,修改src/log4j2.xml将不会“起作用”,因为log4j从bin/log4j2.xml加载配置

如果指定了配置文件位置,则不存在混淆的可能性:您自己和log4j对配置文件位置的理解相同


如果这不能解决问题,请尝试使用系统属性
-Dlog4j.debug
运行:这将在控制台上显示内部log4j2日志记录,包括从哪个位置加载配置。另见

您好,我的应用程序部署在Jboss Eap 6.4上。我修改了log4j2.xml文件,该文件位于应用程序可以在运行时查看该文件的目录中。然而,它仍然不起作用。请提供建议。尝试使用系统属性
-Dlog4j.debug运行:这将在控制台上显示内部日志4j2日志,包括从哪个位置加载配置。另见