Appender则是用来指明将所有的log信息存放到什么地方,Log4j中支持多种appender,如 console、files、GUI components、NT Event Loggers等,一个Logger可以拥有多个Appender,也就是你既可以将Log信息输出到屏幕,同时存储到一个文件中。
Layout的作用是控制Log信息的输出方式,也就是格式化输出的信息。
Log4j中将要输出的Log信息定义了5种级别,依次为DEBUG、INFO、WARN、ERROR和FATAL,当输出时,只有级别高过配置中规定的级别的信息才能真正的输出,这样就很方便的来配置不同情况下要输出的内容,而不需要更改代码,这点实在是方便啊。
2、Log4j的配置文件
log4j.logger.myTest1=INFO,A
log4j.appender.A=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A.File=c:/rolling.log
log4j.appender.A.layout=org.apache.log4j.PatternLayout
log4j.appender.A.layout.ConversionPattern=%d%m%n
log4j.logger.myTest2=INFO,B
log4j.appender.B=org.apache.log4j.ConsoleAppender
log4j.appender.B.layout=org.apache.log4j.PatternLayout
log4j.appender.B.layout.ConversionPattern=%l%d%m%n
------------------------------------
今天在调试程序时,发觉eclipse console控制台中打印了很多无用的信息,比如:
2009-04-01 18:52:21,406 http-8088-1 WARN (CommonsLogger.java:46) - Could not find property [struts.valueStack]
2009-04-01 18:52:22,000 http-8088-1 WARN (CommonsLogger.java:46) - Could not find property [__cleanup_recursion_counter]
2009-04-01 18:52:22,000 http-8088-1 WARN (CommonsLogger.java:46) - Could not find property [org.apache.catalina.jsp_file]
还有hibernate的一些日志,我想要总体设置log级别为INFO,而对于个别类中的log级别设置为ERROR,这样个别类的log就不会出现了。我上网查了查,发现了 这位作者的作法,但是他只介绍了在log4j.xml中的修改方式,即:
在log4j.xml里面添加下面的一段话:
<category>
<priority value="error"/>
</category>
但我是用log4j.properties配置的log。所以这篇文章只给了我提示,我又上网一通找,终于让我找到以下文章
从这篇文章中我发现了新大陆,原来在property文件的最底下加入这句话就OK了:
log4j.logger.com.opensymphony.xwork2=ERROR,stdout
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-29539-7.html
天啦快看第四排第二个
可怜的伊叙人民