Java 停止石英调试日志记录log4j
我被困在试图关闭恼人的石英调试日志记录。 我使用log4j作为日志框架,并且已经尝试将这一行添加到lg4j属性文件中Java 停止石英调试日志记录log4j,java,logging,log4j,quartz-scheduler,Java,Logging,Log4j,Quartz Scheduler,我被困在试图关闭恼人的石英调试日志记录。 我使用log4j作为日志框架,并且已经尝试将这一行添加到lg4j属性文件中 "log4j.logger.org.quartz=ERROR" 我仍然收到大量的调试日志消息 13:35:44.680 [MyScheduler_QuartzSchedulerThread] DEBUG o.quartz.core.QuartzSchedulerThread - batch acquisition of 0 triggers 如何关闭此功能 编辑。我已经将配置
"log4j.logger.org.quartz=ERROR"
我仍然收到大量的调试日志消息
13:35:44.680 [MyScheduler_QuartzSchedulerThread] DEBUG o.quartz.core.QuartzSchedulerThread - batch acquisition of 0 triggers
如何关闭此功能
编辑。我已经将配置移到了xml文件中…但仍然遇到了同样的恼人问题
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration>
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ABSOLUTE} %5p %c{1}:%L - %m%n" />
</layout>
</appender>
<logger name="org.quartz" >
<level value="ERROR" />
<appender-ref ref="console" />
</logger>
<logger name="org.hibernate">
<level value="ERROR" />
<appender-ref ref="console" />
</logger>
<logger name="com.mchange.v2.c3p0" additivity="false">
<level value="ERROR" />
<appender-ref ref="console" />
</logger>
<root>
<priority value="ERROR" />
<appender-ref ref="console" />
</root>
</log4j:configuration>
Quartz没有使用log4j,但它使用java.util.logging.Logger。Quartz使用SLF4J作为日志。因此,您应该能够在Log4j配置文件中配置级别 请核实以下内容: 1。您没有权限。 确保这一点的最简单方法是让maven选择版本
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.5</version>
</dependency>
org.slf4j
slf4j-log4j12
1.7.5
slf4j-log4j12
将同时包括Log4J和slf4j
2。确保Log4J知道您的配置文件。
它应该位于类路径中(例如src/main/resources for maven projects),并且应该被称为log4j.xml
,如果您正在使用(打算作为流行的log4j项目的后续项目),您可以通过向
添加一个记录器来关闭调试日志,如下所示:
<logger name="org.quartz.core.QuartzSchedulerThread" level="WARN" />
quartz-2.2.2使用支持回写的slf4j。因此,将logback.xml添加到类路径并设置适当的日志级别将解决此问题。如果您正在使用另一版本的quartz,并且它是否支持log4j。请忽略这一点
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<logger name="org.quartz" level="ERROR"/>
<root level="ALL">
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} | %-5level | %X{username} | %thread | %logger{1} | %m%n%rEx</pattern>
</encoder>
</appender>
</root>
</configuration>
%d{HH:mm:ss.SSS}|%-5level |%X{username}|%thread |%logger{1}|%m%n%rEx
我将log4j.xml重置为
<root>
<priority value ="info" />
<appender-ref ref="console" />
</root>
您是否也可以在类路径中发布JAR?你确定配置文件是由log4j获取的吗?它应该被称为log4j.xml,通过一个参数引用:-Dlog4j.configuration=anything.xml
。感谢您的回复。我正在使用maven来管理依赖项。如果我更改根日志记录级别以调试控制台的输出,则会更改。似乎只是石英忽略了我的配置文件。
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<logger name="org.quartz" level="ERROR"/>
<root level="ALL">
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} | %-5level | %X{username} | %thread | %logger{1} | %m%n%rEx</pattern>
</encoder>
</appender>
</root>
</configuration>
<root>
<priority value ="info" />
<appender-ref ref="console" />
</root>