Log4j输出到多个自定义文件_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Log4j输出到多个自定义文件

Log4j输出到多个自定义文件

 2014/11/27 18:25:00  blindness_god  程序员俱乐部  我要评论(0)
  • 摘要:引入:log4j的强大功能无可置疑,但实际应用中免不了遇到某个功能需要输出独立的日志文件的情况,怎样才能把所需的内容从原有日志中分离,形成单独的日志文件呢?其实只要在现有的log4j基础上稍加配置即可轻松实现这一功能。实例:对于log4j的简单配置,可以参见log4j文档说明,这里先来看一个配置文件:###配置log4j的根logger级别为(DEBUG)log4j.rootLogger=DEBUG###将DAO层log记录到DAOLog和ALLLog中log4j.logger
  • 标签:输出 文件 自定义

引入:

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

?

实例:

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

class="txt">#
##配置log4j的根logger级别为(DEBUG)
log4j.rootLogger=DEBUG
#
##将DAO层log记录到DAOLog和ALLLog中
log4j.logger.DAOLOG=DEBUG,DAOLOG,ALLLOG
#
##将逻辑层log记录到ASLog和ALLLog中
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里输出。

上一篇: spring+mybatis+velocity项目demo 下一篇: 没有下一篇了!
发表评论
用户名: 匿名