您的位置:首页 > 其它

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

2015-03-13 14:50 155 查看
最近做一个项目,是在比较老的一个项目中做开发,类似于基于产品的开发,在开发的过程中,由于原来的日志文件配置缘故,开发控制台并没有打印出后台的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里输出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: