Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查正在运行的Java进程的log4j属性_Java_Logging_Log4j - Fatal编程技术网

检查正在运行的Java进程的log4j属性

检查正在运行的Java进程的log4j属性,java,logging,log4j,Java,Logging,Log4j,我想知道是否有一种方法可以检查正在运行的Java进程的log4j属性。我面临一个与此相关的问题。我将配置设置为信息级别,并使用滚动文件追加器。系统启动并正常工作一分钟,并将日志保存到相应的文件中。但突然,它开始在调试级别记录到控制台,而不再进入文件。很可能一些模块将Log4j属性重置为其他值。我尝试在Log4j属性配置器的几个方法上设置中断。但这并没有起到多大的作用,因为我并没有在适当的方法上设置中断。 任何线索都将不胜感激 我用下面的配置配置了log4j,但几秒钟后该配置似乎不再有效 log4

我想知道是否有一种方法可以检查正在运行的Java进程的log4j属性。我面临一个与此相关的问题。我将配置设置为信息级别,并使用滚动文件追加器。系统启动并正常工作一分钟,并将日志保存到相应的文件中。但突然,它开始在调试级别记录到控制台,而不再进入文件。很可能一些模块将Log4j属性重置为其他值。我尝试在Log4j属性配置器的几个方法上设置中断。但这并没有起到多大的作用,因为我并没有在适当的方法上设置中断。 任何线索都将不胜感激

我用下面的配置配置了log4j,但几秒钟后该配置似乎不再有效

log4j.rootLogger=INFO, A1,A2

log4j.appender.A1 = org.apache.log4j.RollingFileAppender
log4j.appender.A1.File = ${storm.home}/logs/${logfile.name}
log4j.appender.A1.Append = true
log4j.appender.A1.DatePattern = '.'yyy-MM-dd
log4j.appender.A1.layout = org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss:SSS} %c{1} [%p] %m%n

log4j.appender.A2=com.proptotype.poc.CustomAppender
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss:SSS} %c{1} [%p] %m%n
log4j.appender.A2.myName=scribe
log4j.appender.A2.scribeHost=127.0.0.1
log4j.appender.A2.scribePort=1464

如果您使用的是log4j2,那么可以使用JMX查询和修改当前的记录器配置


它甚至有一个小型Gui应用程序来实现这一点:

如果您想了解当前的日志级别,可以按如下方式进行操作

System.out.println(Logger.getRootLogger().getLevel());
同样,您也可以从Logger类中找到其他属性,例如:

Enumeration enums = Logger.getRootLogger().getAllAppenders();
        while (enums.hasMoreElements()) {
            System.out.println(enums.nextElement().toString());
        }

请出示您的log4j.properties