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_Quartz Scheduler - Fatal编程技术网

Java 停止石英调试日志记录log4j

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作为日志框架,并且已经尝试将这一行添加到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>

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>