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级别高的..