log4j多模块配置文件模板 (含注释及优先级说明)

 

# Output pattern : date [thread] priority category - message   FATAL 0  ERROR 3  WARN 4  INFO 6  DEBUG 7  ALL打开所有 OFF是关闭所有
# 日志优先级:OFF --- FATAL > ERROR > WARN > INFO > DEBUG > TRACE --- ALL
# Log4j 根配置语法 log4j.rootLogger = [ level ] , appenderName, appenderName, …
log4j.rootLogger=DEBUG,RollingFile

#Project defalult level
#log4j.logger.org.activiti.engine.impl.persistence=DEBUG
#log4j.logger.org.apache.shiro=DEBUG
log4j.logger.com.jeeplus=INFO,Console,Jeeplus
log4j.logger.com.jeeplus.common.security.shiro=WARN
log4j.logger.com.jeeplus.common.utils.JedisUtils=WARN
log4j.logger.com.jeeplus.modules.sys.web.LoginController=WARN
log4j.logger.com.jeeplus.modules.oa.dao.OaNotifyDao.findCount=WARN

#DynamicTrace level
log4j.logger.com.jeeplus.modules.dynamictrace=INFO,DynamicTrace 

#市长信箱 level
log4j.logger.com.jeeplus.modules.mayor=INFO
log4j.logger.com.jeeplus.modules.mayormail=INFO
log4j.logger.com.jeeplus.modules.mayorwork=INFO

#Springframework level
#log4j.logger.org.springframework=ERROR

#ibatis log level
#log4j.logger.com.ibatis=debug
#log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug
#log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug
#log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug
#log4j.logger.java.sql=DEBUG
log4j.logger.java.sql.Connection=INFO
log4j.logger.java.sql.Statement=INFO
log4j.logger.java.sql.PreparedStatement=INFO

##########################################Appender##############################################
#Console Appender
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Threshold = INFO
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d %-5p [%c{5}] - %m%n

#RollingFile Appender
log4j.appender.RollingFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.RollingFile.Threshold = INFO
log4j.appender.RollingFile.File=../logs/all/all.log
log4j.appender.RollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.RollingFile.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n

#Jeeplus Appender
log4j.appender.Jeeplus=org.apache.log4j.DailyRollingFileAppender
log4j.appender.Jeeplus.File=../logs/jeeplus/jeeplus.log
log4j.appender.Jeeplus.layout=org.apache.log4j.PatternLayout
log4j.appender.Jeeplus.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n

#DynamicTrace Appender
log4j.appender.DynamicTrace=org.apache.log4j.DailyRollingFileAppender   
log4j.appender.DynamicTrace.File=../logs/dynamictrace/dynamictrace.log
log4j.appender.DynamicTrace.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.DynamicTrace.layout=org.apache.log4j.PatternLayout
log4j.appender.DynamicTrace.Append=true
#log4j.appender.DynamicTrace.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
log4j.additivity.com.jeeplus.modules.dynamictrace=false


################################相关使用说明##################################
# log4j.logger.com.jeeplus.modules.dynamictrace=INFO,DynamicTrace --> 后面这个DynamicTrace是Appender的名字,如果不写的话默认使用log4j.rootLogger指向的Appender
# log4j.appender.DynamicTrace.Append=true --> 如果为false的话则日志不会追加写到文件,最后输出的信息总是覆盖掉前面输出的信息
# log4j.additivity.DynamicTrace=false --> 其中true是继承父类, false表示不继承。继承之后子类的日志也会打印在父类配置的位置下一份
# 对于log4j.logger.com.jeeplus.modules.dynamictrace来说,log4j.logger.com.jeeplus就是它的父级别
# 如果appender中没有配置Threshold来控制优先级的话,就完全采用logger中配置的优先级。日志是在logger层先被过一遍优先级,然后在appender中显示时再过一遍优先级










log4j里面的优先级有两个地方可以配置,一个是logger中,一个是appender中,再加上logger还可以有各级子logger,所以在输出log时最终到底使用哪个优先级让我觉得很困惑。在我多次进行测试之后,我觉得这个日志像在通过多层的过滤来控制日志范围和优先级,首先在rootLogger层先被过一遍优先级,然后在它的appender中显示时再过一遍优先级,如果有其他的子logger则再依次进行过滤,以此类推,最终在相应的层中按照过滤好的优先级将日志打印出来。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值