停止石英调试日志log4j[英] stop quartz debug logging log4j

本文是小编为大家收集整理的关于停止石英调试日志log4j的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。

问题描述

我坚持不懈地试图关闭Quartz的令人讨厌的调试记录. 我正在使用log4j作为记录框架,我已经尝试将此行添加到LG4J专有文件

"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>

edit2 ...这是我的pom.xml文件(有趣的部分)

<!-- slf4j-log4j -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.6.1</version>
        </dependency>
<dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.9</version>
        </dependency>
<!-- QUARTZ -->
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <version>2.1.7</version>
        </dependency>

edit3 jar in ClassPath

activation-1.1.jar
ant-1.8.2.jar
ant-launcher-1.8.2.jar
antlr-2.7.7.jar
asm-1.5.3.jar
asm-attrs-1.5.3.jar
asm-commons-3.3.jar
asm-tree-3.3.jar
bcmail-jdk14-1.38.jar
bcmail-jdk14-138.jar
bcprov-jdk14-1.38.jar
bcprov-jdk14-138.jar
bctsp-jdk14-1.38.jar
c3p0-0.9.1.1.jar
castor-1.2.jar
cglib-2.1_3.jar
commons-beanutils-1.8.3.jar
commons-codec-1.5.jar
commons-collections-3.2.1.jar
commons-digester-2.1.jar
commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-lang-2.5.jar
commons-logging-1.1.1.jar
dom4j-1.6.1.jar
ehcache-1.2.3.jar
filename.txt
freemarker-2.3.18.jar
groovy-all-2.1.3.jar
hibernate-3.2.7.ga.jar
hibernate-annotations-3.3.0.ga.jar
hibernate-c3p0-4.1.10.Final.jar
hibernate-commons-annotations-3.3.0.ga.jar
hibernate-commons-annotations-4.0.1.Final.jar
hibernate-core-4.1.10.Final.jar
hibernate-jpa-2.0-api-1.0.1.Final.jar
itext-2.1.7.jar
jackson-annotations-2.0.5.jar
jackson-core-2.0.5.jar
jackson-databind-2.0.5.jar
jasperreports-5.1.0.jar
javassist-3.11.0.GA.jar
javassist-3.15.0-GA.jar
jboss-logging-3.1.0.GA.jar
jboss-transaction-api_1.1_spec-1.0.0.Final.jar
jcommon-1.0.15.jar
jdbc-mysql.jar
jdtcore-3.1.0.jar
jfreechart-1.0.12.jar
jta-1.1.jar
log4j-1.2.9.jar
logback-classic-1.0.10.jar
logback-core-1.0.11.jar
mail-1.4.jar
mysql-connector-java-5.1.6.jar
ognl-3.0.4.jar
ooxml-schemas-1.1.jar
openxml4j-1.0-beta.jar
poi-3.9.jar
poi-contrib-3.7-beta3.jar
poi-examples-3.9.jar
poi-excelant-3.9.jar
poi-ooxml-3.9.jar
poi-ooxml-schemas-3.9.jar
poi-scratchpad-3.9.jar
quartz-2.1.7.jar
servlet-api-2.5.jar
slf4j-api-1.7.2.jar
slf4j-log4j12-1.6.1.jar
stax-api-1.0.1.jar
struts2-core-2.3.1.2.jar
struts2-json-plugin-2.3.1.2.jar
xml-apis-1.0.b2.jar
xmlbeans-2.3.0.jar
xwork-core-2.3.1.2.jar

推荐答案

Quartz使用Slf4J作为记录API .因此,您应该能够配置Log4J配置文件中的级别.

请验证以下内容:

1.您没有版本冲突..

确保这是让Maven选择版本的最简单方法.

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.5</version>
</dependency>

slf4j-log4j12将包括,log4j和slf4j.

2.确保您的配置文件已知log4j.

应该在类路径中(例如,用于Maven项目的SRC/Main/Resources),应称为log4j.xml.

其他推荐答案

如果您使用的是 logback (打算作为流行log4j项目的继任者),则可以通过将记录器添加到<configuration />下面:

来关闭调试日志
<logger name="org.quartz.core.QuartzSchedulerThread" level="WARN" />

其他推荐答案

Quartz-2.2.2使用支持LogBack的SLF4J.因此,将logback.xml添加到classPath并设置适当的日志级别将解决问题.如果您使用的是另一个版本的石英,并且是否支持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>

本文地址:https://www.itbaoku.cn/post/1574909.html

问题描述

i'm stuck trying to turn off the annoying DEBUG logging of quartz. i'm using log4j as logging framework and i've already tried to add this line to the lg4j proprieties file

"log4j.logger.org.quartz=ERROR"

i'm still getting tons of these debugging logging messages

13:35:44.680 [MyScheduler_QuartzSchedulerThread] DEBUG o.quartz.core.QuartzSchedulerThread - batch acquisition of 0 triggers

how can i turn this function off ?

EDIT. i've moved my configuration to xml file...but still getting the same annoying problem

<?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>

EDIT2...here's my pom.xml file (interesting part)

<!-- slf4j-log4j -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.6.1</version>
        </dependency>
<dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.9</version>
        </dependency>
<!-- QUARTZ -->
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <version>2.1.7</version>
        </dependency>

EDIT3 jar in classpath

activation-1.1.jar
ant-1.8.2.jar
ant-launcher-1.8.2.jar
antlr-2.7.7.jar
asm-1.5.3.jar
asm-attrs-1.5.3.jar
asm-commons-3.3.jar
asm-tree-3.3.jar
bcmail-jdk14-1.38.jar
bcmail-jdk14-138.jar
bcprov-jdk14-1.38.jar
bcprov-jdk14-138.jar
bctsp-jdk14-1.38.jar
c3p0-0.9.1.1.jar
castor-1.2.jar
cglib-2.1_3.jar
commons-beanutils-1.8.3.jar
commons-codec-1.5.jar
commons-collections-3.2.1.jar
commons-digester-2.1.jar
commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-lang-2.5.jar
commons-logging-1.1.1.jar
dom4j-1.6.1.jar
ehcache-1.2.3.jar
filename.txt
freemarker-2.3.18.jar
groovy-all-2.1.3.jar
hibernate-3.2.7.ga.jar
hibernate-annotations-3.3.0.ga.jar
hibernate-c3p0-4.1.10.Final.jar
hibernate-commons-annotations-3.3.0.ga.jar
hibernate-commons-annotations-4.0.1.Final.jar
hibernate-core-4.1.10.Final.jar
hibernate-jpa-2.0-api-1.0.1.Final.jar
itext-2.1.7.jar
jackson-annotations-2.0.5.jar
jackson-core-2.0.5.jar
jackson-databind-2.0.5.jar
jasperreports-5.1.0.jar
javassist-3.11.0.GA.jar
javassist-3.15.0-GA.jar
jboss-logging-3.1.0.GA.jar
jboss-transaction-api_1.1_spec-1.0.0.Final.jar
jcommon-1.0.15.jar
jdbc-mysql.jar
jdtcore-3.1.0.jar
jfreechart-1.0.12.jar
jta-1.1.jar
log4j-1.2.9.jar
logback-classic-1.0.10.jar
logback-core-1.0.11.jar
mail-1.4.jar
mysql-connector-java-5.1.6.jar
ognl-3.0.4.jar
ooxml-schemas-1.1.jar
openxml4j-1.0-beta.jar
poi-3.9.jar
poi-contrib-3.7-beta3.jar
poi-examples-3.9.jar
poi-excelant-3.9.jar
poi-ooxml-3.9.jar
poi-ooxml-schemas-3.9.jar
poi-scratchpad-3.9.jar
quartz-2.1.7.jar
servlet-api-2.5.jar
slf4j-api-1.7.2.jar
slf4j-log4j12-1.6.1.jar
stax-api-1.0.1.jar
struts2-core-2.3.1.2.jar
struts2-json-plugin-2.3.1.2.jar
xml-apis-1.0.b2.jar
xmlbeans-2.3.0.jar
xwork-core-2.3.1.2.jar

推荐答案

Quartz uses SLF4J as the logging API. Therefore you should be able to configure the level in your Log4j config file.

Please verify the following:

1. You have no version conflict.

The easiest way to assure this is to let maven choose the versions.

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.5</version>
</dependency>

slf4j-log4j12 will include both, Log4J and SLF4J.

2. Make sure your config file known to Log4J.

It should be in the classpath (e.g. src/main/resources for maven projects) and it should be called log4j.xml.

其他推荐答案

If you are using Logback(intended as a successor to the popular log4j project), you can turn off the debug log by adding a logger to the <configuration /> as below:

<logger name="org.quartz.core.QuartzSchedulerThread" level="WARN" />

其他推荐答案

quartz-2.2.2 uses slf4j which supports logback. so adding logback.xml to the classpath and setting appropriate log level will resolve the issue. In case you are using another version of quartz and if it supports log4j. please ignore this.

<?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>