2014-01-13 3 views
2

Я застреваю, пытаясь отключить раздражающую регистрацию кварца DEBUG. я использую log4j как основы лесозаготовительной и я уже пытался добавить эту строку в lg4j приличий податьstop quartz debug logging log4j

"log4j.logger.org.quartz=ERROR" 

я все еще получаю тонны этих отладки протоколирования сообщений

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

как могу ли я отключить эту функцию?

EDIT. Я переместил свою конфигурацию в 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 банк в Путь к классам

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 

ответ

3

Кварц использует SLF4J как logging API. Поэтому вы должны иметь возможность настроить уровень в конфигурационном файле Log4j.

Пожалуйста, проверьте следующее:

1. У вас нет version conflict.

Самый простой способ гарантировать это, чтобы позволить maven выбрать версии.

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

slf4j-log4j12 будет включать в себя как, Log4J и SLF4J.

2. Убедитесь, что ваш файл конфигурации известен Log4J.

Он должен быть в пути к классам (например, src/main/resources для проектов maven), и его следует называть log4j.xml.

+0

отредактировал мой ответ ... посмотрите – Medioman92

+0

пожалуйста, вы можете также разместить банки в вашем пути к классам? И вы уверены, что файл конфигурации подхвачен log4j? Его следует либо называть log4j.xml ссылкой через параметр: '-Dlog4j.configuration = anything.xml'. –

+0

спасибо за ответ. Я использую maven для управления зависимостями. , если я изменил уровень ведения журнала для отладки вывода на консольные изменения. Кажется, что только кварц игнорирует мой файл конфигурации. – Medioman92

0

Кварц не использует log4j, но он использует java.util.logging.Logger.

2

Если вы используете Logback (предназначенный в качестве преемника популярного проекта log4j), вы можете отключить журнал отладки, добавив регистратор в <configuration />, как показано ниже:

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

кварц-2.2.2 использует slf4j, который поддерживает logback. поэтому добавление logback.xml в путь к классам и установка соответствующего уровня журнала разрешит проблему. Если вы используете другую версию кварца, и если она поддерживает 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> 
0

сбросить мой log4j.xml к

<root> 
    <priority value ="info" /> 
    <appender-ref ref="console" /> 
    </root>