我是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,以便它不会记录任何日志。
我是否正确设置了此文件?
感谢
答案 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