log4j配置文件中的additivity属性
2016-05-15 15:31
417 查看
最新写程序,需要采用log4j来收集日志,这样就需要把程序运行日志和收集的日志区分开来。
开始一直没有找到可以配置log4j让其独立输出到指定日志文件,于是采用了划分Log4j的等级来解决这个问题;
具体实施方案是将父Logger的输出等级设置的高一点,而用来收集日志的Logger的输出等级设置低一点,采用trace方法来打日志;
后来找到了log4j的additivity属性:
它是 子Logger 是否继承 父Logger 的 输出源(appender) 的标志位。具体说,默认情况下子Logger会继承父Logger的appender,也就是说子Logger会在父Logger的appender里输出。若是additivity设为false,则子Logger只会在自己的appender里输出,而不会在父Logger的appender里输出。
使用例子:下面是一个log4j的配置文件,父logger是console与R,子logger是log4j.logger.mobileLogger
log4j.rootLogger=DEBUG,console,R
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-5p %d [%t] %c: %m%n
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=/export/home/tomcat/mobile/tomcatLogs/tomcat.log
log4j.appender.R.DatePattern='.'yyyy-MM-dd
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%-5p %d [%t] %c: %m%n
log4j.logger.mobileLogger=TRACE,mobileLogger
log4j.additivity.mobileLogger=false
log4j.appender.mobileLogger=org.apache.log4j.DailyRollingFileAppender
log4j.appender.mobileLogger.layout=org.apache.log4j.PatternLayout
log4j.appender.mobileLogger.DatePattern='.'yyyy-MM-dd-HH-mm
log4j.appender.mobileLogger.layout.ConversionPattern=%m%n
log4j.appender.mobileLogger.file=/export/home/tomcat/mobile/mobileLogs/mobile.log
log4j.appender.mobileLogger.encoding=UTF-8
开始一直没有找到可以配置log4j让其独立输出到指定日志文件,于是采用了划分Log4j的等级来解决这个问题;
具体实施方案是将父Logger的输出等级设置的高一点,而用来收集日志的Logger的输出等级设置低一点,采用trace方法来打日志;
后来找到了log4j的additivity属性:
它是 子Logger 是否继承 父Logger 的 输出源(appender) 的标志位。具体说,默认情况下子Logger会继承父Logger的appender,也就是说子Logger会在父Logger的appender里输出。若是additivity设为false,则子Logger只会在自己的appender里输出,而不会在父Logger的appender里输出。
使用例子:下面是一个log4j的配置文件,父logger是console与R,子logger是log4j.logger.mobileLogger
log4j.rootLogger=DEBUG,console,R
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-5p %d [%t] %c: %m%n
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=/export/home/tomcat/mobile/tomcatLogs/tomcat.log
log4j.appender.R.DatePattern='.'yyyy-MM-dd
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%-5p %d [%t] %c: %m%n
log4j.logger.mobileLogger=TRACE,mobileLogger
log4j.additivity.mobileLogger=false
log4j.appender.mobileLogger=org.apache.log4j.DailyRollingFileAppender
log4j.appender.mobileLogger.layout=org.apache.log4j.PatternLayout
log4j.appender.mobileLogger.DatePattern='.'yyyy-MM-dd-HH-mm
log4j.appender.mobileLogger.layout.ConversionPattern=%m%n
log4j.appender.mobileLogger.file=/export/home/tomcat/mobile/mobileLogs/mobile.log
log4j.appender.mobileLogger.encoding=UTF-8
相关文章推荐
- Python笔记之入门(基础篇)
- 在win10 x64下配置QT5.6.0 Mingw+opencv2.4.12
- FPGA约束文件
- 深度遍历和广度遍历,邻接表和邻接矩阵
- Linux发行版 CentOS6.5下删除分区操作
- Binder学习笔记(九)—— 服务端如何响应Test()请求 ?
- Nofication的使用
- ftrace kprobe调试
- 关于 @synchronized,这儿比你想知道的还要多
- PHP语言 -- Smarty函数
- Android实现Banner界面广告图片循环轮播(包括实现手动滑动循环)
- 关于Session的保存用户信息的用法。
- CSDN博客中使用超链接
- 自定义view 园环交替等待效果
- 229. Majority Element II 【M】【52】
- IOS小知识点总结
- Binder学习笔记(八)—— 客户端如何组织Test()请求 ?
- NSLock/NSRecursiveLock/NSConditionLock/@synchronized 详细解释
- JS(JavaScript)插入节点的方法appendChild与insertBefore
- 蓝桥杯:排序