http://blog.csdn.net/goodleiwei/article/details/7059589
最近在看一些log4j的东西,初步有一点结论,总结一下。
包什么的就不说了,直接解析文件。
log4j.rootCategory=error,logfile
这句话的意思是:记录所有的包的信息输出。将error级别的信息记录到logfile终端里面。
log4j.logger.org=error,logfile
这句话的意思是:将org包下面的error级别的信息记录到logfile终端里面,此处可以将org替换成项目中的任意包名或文件名。
将DAO层log记录到DAOLog,allLog中
log4j.logger.DAO=DEBUG,DAOLog,allLog
将逻辑层log记录到BusinessLog,allLog中
log4j.logger.Businesslog=DEBUG,BusinessLog,allLog
log4j.appender.logfile=org.apache.log4j.RollingFileAppender log4j.appender.logfile.Threshold = ERROR log4j.appender.logfile.File=error.log log4j.appender.logfile.MaxFileSize=10MB log4j.appender.logfile.layout=org.apache.log4j.PatternLayout log4j.appender.logfile.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} %m%n
第一行指定的是logfile终端的输出格式为滚动文件输出。
第二行Threshold是个全局的过滤器,它将把低于所设置的level的信息过滤不显示出来。
第三行为logfile终端的文件名和路径,若没有路径则默认保存在jboss的bin下。
第四行显示文件的最大大小为10M.
后两行为logfile终端的排列布局,这个不是很明白,关于ConversionPattern属性,这里有一篇文章讲的比较好,虽然我还是不太会用,但多少能懂点规则
http://www.blogjava.net/wilesun/archive/2007/10/30/156999.html
终端可以指定多个,分别输出到不同的文件或路径下。
控制台有时候会刷新的很快,有时候没法及时的发现报的错误就过去了,如果想找到刷新过去的日志的话去路径jboss-4.0.4.GA\server\default\log下面找名叫server.log的文件(tomcat找bin下的info.log),这个log文件记录的是你服务最近一次启动之后控制台产生的所有记录,当然,需要去jboss的log4j里面设置一下。jboss的log4j路径在jboss-4.0.4.GA\server\default\conf下。
JBoss内置了Log4j,所以如果在自己项目中使用Log4j,并在项目内配置了log4j.xml就会发生冲突。