log4j

log4j 根配置语法

log4j.rootLogger = [ level ] , appenderName, appenderName, …

把指定级别以上的日志信息输出到指定的一个或者多个位置

 

log4j.additivity

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

如: 
log4j.rootLogger=INFO, stdout,logfile 
log4j.logger.com.ambow.upgrade=INFO, dataSync 


则com.ambow.upgrade包及其子包下的Logger不光在Appender dataSync里输出,也会在rootLogger的Appender stuout和logfile中输出; 
若想让com.ambow.upgrade包及其子包下的Logger只在Appender dataSync中输出,则在log4j.properties中添加下行即可: 
log4j.additivity.com.ambow.upgrade=false 

 

private static Logger logger = Logger.getLogger("AMODULE");//指定配置文件中的名称

#配置子logger,目的就是控制一定范围内的日志输出,比如这里的子logger是控制AMODULE模板日志输出,其父logger就是rootLogger 

#A模块单独配置,输出级别为INFO,输出文件为 afile,allError ; additivity=false指定不继承根设置
log4j.logger.AMODULE=INFO,afile,allError
log4j.additivity.AMODULE = false
log4j.appender.afile = org.apache.log4j.RollingFileAppender
log4j.appender.afile.File = /data/wuliu-provider/logs/YuanCheng.log
log4j.appender.afile.MaxFileSize = 50MB
log4j.appender.afile.Threshold = INFO
log4j.appender.afile.layout = org.apache.log4j.PatternLayout
log4j.appender.afile.layout.ConversionPattern =[%p] %d{yyyy-MM-dd HH\:mm\:ss} [%c]%m%n

posted @ 2018-10-22 15:26  好好学习,努力进步  阅读(137)  评论(0编辑  收藏  举报