log4j 根配置语法
log4j.rootLogger = [ level ] , appenderName, appenderName, …
把指定级别以上的日志信息输出到指定的一个或者多个位置
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