log4j.xml配置仅用于调试

时间:2014-09-03 07:48:29

标签: java log4j

我是log4j的新手,只是想知道是否有人可以帮助我使用我目前正在猜测的配置。我试图测试它,但它似乎没有起作用。

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

我在这里尝试做的是将根记录器设置为ERROR,这样除非出现错误,否则它不会拾取任何内容。但后来我有一个名为com.webservice的记录器,我想从我的包(而不是其他库)中获取DEBUG语句仅用于开发目的。 当我开始制作时,我想将com.webservice优先级更改回INFO,以便它不会记录任何日志。

我是否正确设置了此文件?

感谢

2 个答案:

答案 0 :(得分:2)

尝试将debug节点中的log4j:configuration attribut设置为true

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

它在读取配置文件时打印出信息,并用于配置log4j环境。您可能会获得更多详细信息来解决您的问题。

答案 1 :(得分:0)

我还没有使用过xml,但是我使用了log4j.properties,它运行得非常好。只需将它放在类路径中并为log4j添加jar。它应该工作。您可以根据需要更改日志级别。

此外,无需指定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