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就会发生冲突。

  解决的方法可参考http://java-boy.iteye.com/blog/583066

posted on 2015-08-19 11:00  程序员丁先生  阅读(752)  评论(0编辑  收藏  举报