注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

IOS & JAVA KEY

(iMilo)

 
 
 

日志

 
 
关于我

All the splendor in the world is not worth a good friend!! Hello my friend!!

网易考拉推荐

Log4j输出到多个自定义文件  

2012-12-16 12:32:01|  分类: java |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

引入:

log4j的强大功能无可置疑,但实际应用中免不了遇到某个功能需要输出独立的日志文件的情况,怎样才能把所需的内容从原有日志中分离,形成单独的日志文件呢?其实只要在现有的log4j基础上稍加配置即可轻松实现这一功能。

 

实例:

    对于log4j的简单配置,可以参见log4j文档说明,这里先来看一个配置文件:

#

##配置log4j的根logger级别为(DEBUG

log4j.rootLogger=DEBUG

#

##DAOlog记录到DAOLogALLLog

log4j.logger.DAOLOG=DEBUG,DAOLOG,ALLLOG

#

##将逻辑层log记录到ASLogALLLog

log4j.logger.ASLOG=DEBUG,ASLOG,ALLLOG

#

##配置ALLLOG-记录所有日志信息

log4j.appender.ALLLOG=org.apache.log4j.DailyRollingFileAppender

log4j.appender.ALLLOG.file=${webapp.root}/logs/ALLLog.log

log4j.appender.ALLLOG.DatePattern='.'yyyyMMdd

log4j.appender.ALLLOG.layout=org.apache.log4j.PatternLayout

log4j.appender.ALLLOG.layout. ConversionPattern=%d{HH\:mm\:ss,SSS} %p %c - %m%n

log4j.additivity.ALLLOG=false

#

##配置DAOLOG-记录所有DAO层日志信息

log4j.appender.DAOLOG=org.apache.log4j.DailyRollingFileAppender

log4j.appender.DAOLOG.file=${webapp.root}/logs/DAOLog.log

log4j.appender.DAOLOG.DatePattern='.'yyyyMMdd

log4j.appender.DAOLOG.layout=org.apache.log4j.PatternLayout

log4j.appender.DAOLOG.layout. ConversionPattern=%d{HH\:mm\:ss,SSS} %p %c - %m%n

log4j.additivity.DAOLog=false

#

##配置ASLOG-记录所有业务逻辑层层日志信息

log4j.appender.ASLOG=org.apache.log4j.DailyRollingFileAppender

log4j.appender.ASLOG.file=${webapp.root}/logs/ASLog.log

log4j.appender.ASLOG.DatePattern='.'yyyyMMdd

log4j.appender.ASLOG.layout=org.apache.log4j.PatternLayout

log4j.appender.ASLOG.layout. ConversionPattern=%d{HH\:mm\:ss,SSS} %p %c - %m%n

log4j.additivity.ASLog=false

 

说明:

log4j.rootLogger//==配置跟logger日志级别及日志输出位置,如:

    log4j.rootLogger=ERROR,file,stdout表示,日志级别为ERROR的日志输出到控制台和file中。

但如果日志要分别输出到不同的文件中,如根据功能模块输出到不同文件,则无需将不同位置在此设置,否则在无法按照功能模块输出日志,导致不同文件记录相同的日志。

 

log4j.additivity是子Logger是否继承父Logger 输出源(appender)的标志位。具体说,默认情况下子Logger会继承父Loggerappender,也就是说子Logger 会在父Loggerappender里输出。若是additivity设为false,则子Logger只会在自己的appender里输出,而不会在父Loggerappender里输出。

 

 

其他:

Milo Zhang

2012-12-16

  评论这张
 
阅读(6911)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017