2014-09-03 2 views
0

Я новичок в log4j, и мне просто интересно, может ли кто-нибудь помочь мне с конфигурацией, которую я сейчас угадываю. Я пытаюсь проверить его, но он, похоже, не работает.log4j.xml конфигурация для отладки только

<?xml version="1.0" encoding="UTF-8" ?> 
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false"> 

    <appender name="debugAppender" class="org.apache.log4j.RollingFileAppender"> 
     <param name="File" value="/usr/local/apache-tomcat-7.0.35/logs/sample.log"/> 
     <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" value="%d %-5p [%c{1}] %m %n" /> 
     </layout> 
     <filter class="org.apache.log4j.varia.LevelRangeFilter"> 
      <param name="levelMax" value="DEBUG" /> 
     </filter>  
    </appender> 

    <logger name="com.webservice" additivity="false"> 
     <priority value="DEBUG" /> 
     <appender-ref ref="debugAppender" /> 
    </logger> 

    <root> 
    <priority value="ERROR" /> 
    <appender-ref ref="fileAppender" /> 
    </root> 

</log4j:configuration> 

То, что я пытаюсь сделать здесь установлен корневой регистратор к ошибке, чтобы он не забрать ничего, если нет ошибки. Но тогда у меня есть logger с именем com.webservice, что я хотел бы получить заявления DEBUG из моих пакетов (а не других библиотек) только для целей разработки. Когда я иду на производство, я хочу изменить приоритет com.webservice на INFO, чтобы он не собирал какие-либо записи.

Я установил этот файл правильно?

благодаря

ответ

0

я нету работал на XML, но я использую log4j.properties, который работает прекрасно. Просто поместите это в свой путь к классам и добавьте jar для log4j. Он должен работать. Вы можете изменить уровни журналов по своему усмотрению.

Также нет необходимости указывать уровень ERROR, поскольку по умолчанию регистрируется уровень ERROR.

Пример:

log4j.debug=TRUE 

log4j.logger.com.XXX.RemoteCacheManager=FATAL, Logs 
log4j.logger.com.XXX.RedisCacheImpl=FATAL, Logs 
log4j.logger.com.XXX.utils=DEBUG, TimeItLogs 
log4j.logger.com.XXX=DEBUG, Logs 

log4j.logger.org.hibernate=INFO, Logs 
log4j.logger.org.springframework=INFO, Logs 
log4j.logger.org.apache.velocity=ERROR, Logs 
log4j.logger.org.apache.commons=ERROR, Logs 
log4j.logger.org.apache.tiles=ERROR, Logs 

log4j.appender.Logs=org.apache.log4j.RollingFileAppender 
log4j.appender.Logs.File=${catalina.base}/logs/XXX.log 
log4j.appender.Logs.MaxFileSize=10MB 
log4j.appender.Logs.MaxBackupIndex=50 
log4j.appender.Logs.layout=org.apache.log4j.PatternLayout 
log4j.appender.Logs.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p %t %c %m %n 
2

Попробуйте установить debug attribut в log4j:configuration узла true.

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true"> 

Он печатает информацию, поскольку файл конфигурации считывается и используется для настройки среды log4j. У вас может быть больше информации, чтобы решить вашу проблему.

Смежные вопросы