log4j的配置--粗浅的拿来主义啊

来源:互联网 发布:安卓开发 布局优化 编辑:程序博客网 时间:2024/05/22 10:50

最近做一个项目,是在比较老的一个项目中做开发,类似于基于产品的开发,在开发的过程中,由于原来的日志文件配置缘故,开发控制台并没有打印出后台的sql,这样导致开发的时候sql测试很是花费时间,趁今天有点时间,本人网上查了点资料,借鉴别人的文章修改了下日志文件。实现了后台sql的打印。借着空闲的时光,自己想总结下log4j的配置和使用(由于自己还不是很懂,所以很多还是从网上借鉴来的),请不要笑话----我会尽量减少错误的发生的,配置文件有两种方式xml和properties。

废话不多说,先上代码:


log4j.threshold=DEBUG        //日志记录的最低级别
log4j.rootLogger=DEBUG,A1,R            //日志的根目录   A1,R分别是日志的记录方式及地址等的设置(输出方式)

log4j.logger.java.sql=DEBUG,A1                       //
log4j.logger.java.sql.ResultSet=DEBUG,A1    //打印出sql语句


log4j.appender.A1=org.apache.log4j.ConsoleAppender                //日志输出方式 A1
log4j.appender.A1.encoding=GBK
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=[%-d{yyyy-MM-dd HH:mm:ss.SSS}]-[%p] %c %m%n


log4j.appender.R=org.apache.log4j.RollingFileAppender                  //日志输出方式R
log4j.appender.R.encoding=GBK
log4j.appender.R.DatePattern='.'yyyy-MM-dd
log4j.appender.R.File=../logs/emallServer/default_serv.log    
log4j.appender.R.MaxFileSize=5000KB
log4j.appender.R.MaxBackupIndex=50
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=[%-d{yyyy-MM-dd HH:mm:ss}]-[%p] %c %m%n


//根据不同的包名  可以分别设置不同的日志级别和输出方式

log4j.logger.com.eshore.sysmgr=ERROR,sysmgr
log4j.appender.sysmgr.encoding=GBK
log4j.appender.sysmgr=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.sysmgr.DatePattern='.'yyyy-MM-dd
log4j.appender.sysmgr.File=../logs/emallServer/sysmgr_serv.log
log4j.appender.sysmgr.layout=org.apache.log4j.PatternLayout
log4j.appender.sysmgr.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%l]-[%p] %n    %m%n

//additivity的配置

log4j.logger.com.eshore.emall.base.store=DEBUG,emallbase_pubmodules
log4j.logger.com.eshore.emall.base.catalog=DEBUG,emallbase_pubmodules
log4j.logger.com.eshore.emall.base.ffmcenter=DEBUG,emallbase_pubmodules
log4j.logger.com.eshore.emall.base.catentry=DEBUG,emallbase_pubmodules
log4j.logger.com.eshore.emall.base.user=DEBUG,emallbase_pubmodules
log4j.logger.com.eshore.emall.base.address=DEBUG,emallbase_pubmodules
log4j.additivity.com.eshore.emall.base.store=false
log4j.additivity.com.eshore.emall.base.catalog=false
log4j.additivity.com.eshore.emall.base.ffmcenter=false
log4j.additivity.com.eshore.emall.base.catentry=false
log4j.additivity.com.eshore.emall.base.user=false
log4j.additivity.com.eshore.emall.base.address=false
log4j.appender.emallbase_pubmodules=org.apache.log4j.DailyRollingFileAppender
log4j.appender.emallbase_pubmodules.encoding=GBK
log4j.appender.emallbase_pubmodules.DatePattern='.'yyyy-MM-dd
log4j.appender.emallbase_pubmodules.File=../logs/emallServer/emall_base_pubmodules_serv.log
log4j.appender.emallbase_pubmodules.layout=org.apache.log4j.PatternLayout
log4j.appender.emallbase_pubmodules.layout.ConversionPattern=[%-d{yyyy-MM-dd HH:mm:ss}]-[%p] %c %m%n

通过查找网上的资料了解了additivity的作用,解释如下:

具体说,默认情况下子Logger会继承父Logger的appender,也就是说子Logger会在父Logger的appender里输出。若是additivity设为false,则子Logger只会在自己的appender里输出,而不会在父Logger的appender里输出。




0 0
原创粉丝点击