log4j日志优先级导致的不输出日志

9/6/2015来源:Java教程人气:3157

log4j日志优先级导致的不输出日志

在sae部署微信代码的时候,发现它的默认日志很不友好,看起来很费劲,详细看了一下说明发现它可以根据log4j的输出级别而分类输出,就拖了一个log4j的xml文件扔进项目代码,然后部署运行,发现没有日志输出..怪了,本地部署也没日志输出,看了下日志配置:

<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">    <layout class="org.apache.log4j.PatternLayout">        <param name="ConversionPattern" value="%d %-5p - [%C{1}] %m%n"/>    </layout></appender><root>    <level value="warn"/>    <appender-ref ref="STDOUT"/></root>

貌似没问题,指定的控制台输出,怎么没日志输出呢,难道配置文件有误?开启log4j的调试模式,在eclipse中的run configuration中添加如下参数:

再次运行,无任何问题..无奈,本地将日志的info,warn,error,debug都输出一句,发现只有error和warn输出,看来是日志级别设置的问题,看了一下原日志的级别是warn:

<root>    <level value="WARN"/>    <appender-ref ref="STDOUT"/></root>

居然是warn..难怪没有日志..

日志记录的优先级由高到低分为 : OFF ,FATAL ,ERROR ,WARN ,INFO, DEBUG, ALL。 Log4j建议只使用FATAL ,ERROR ,WARN ,INFO ,DEBUG这五个级别。

由于我们设置的是warn,所以只能输出warn和比warn级别高的..