log4j日志分模块打印,同时不打印到控制台上
2014-07-28 10:49
316 查看
由于定时刷新程序的启用,导致catalina.out配置文件中打入大量日志,致使程序调试困难。
无法正常查看日志。所以客户要求将性能流量配置日志迁移出catalina.out目录。修改log4j配置文件后,发现
分文件中有了日志输出,但是,catalina.out文件中依然有性能流量日志输出。
原始配置方法如下:
后来发现了如下方法,则可将日志从catalina.out工作台日志文件中移出,
log4j.additivity
现配置文件如下:
下面是log4j.additivity解释:
log4j.additivity是 子Logger 是否继承 父Logger 的 输出源(appender) 的标志位。
具体说,默认情况下 子Logger 会继承 父Logger 的appender,也就是说 子Logger 会在 父Logger 的appender里输出。
若是additivity设为false,则 子Logger 只会在自己的appender里输出,而不会在 父Logger 的appender里输出。
由于父log为:
所以会打到工作台中。
将additivity设为false则只依赖与自身的配置。
无法正常查看日志。所以客户要求将性能流量配置日志迁移出catalina.out目录。修改log4j配置文件后,发现
分文件中有了日志输出,但是,catalina.out文件中依然有性能流量日志输出。
原始配置方法如下:
log4j.logger.com.test.cao.snmpgather = INFO, snmpgather log4j.appender.snmpgather=org.apache.log4j.DailyRollingFileAppender log4j.appender.snmpgather.File=${catalina.home}/logs/performance/snmpgather_ log4j.appender.snmpgather.DatePattern= yyyy-MM- dd'.log' log4j.appender.snmpgather.layout=org.apache.log4j.PatternLayout log4j.appender.snmpgather.layout.ConversionPattern= %-d{yyyy -MM-dd HH:mm:ss,SSS} [%p] [%C.%M:%L] %m%n
后来发现了如下方法,则可将日志从catalina.out工作台日志文件中移出,
log4j.additivity
现配置文件如下:
log4j.logger.com.test.cao.snmpgather = INFO, snmpgather log4j.appender.snmpgather=org.apache.log4j.DailyRollingFileAppender log4j.appender.snmpgather.File=${catalina.home}/logs/performance/snmpgather_ log4j.appender.snmpgather.DatePattern= yyyy-MM- dd'.log' log4j.appender.snmpgather.layout=org.apache.log4j.PatternLayout log4j.appender.snmpgather.layout.ConversionPattern= %-d{yyyy -MM-dd HH:mm:ss,SSS} [%p] [%C.%M:%L] %m%n
log4j.additivity.com.linkage.module.liposs.system.cao.snmpgather = false
下面是log4j.additivity解释:
log4j.additivity是 子Logger 是否继承 父Logger 的 输出源(appender) 的标志位。
具体说,默认情况下 子Logger 会继承 父Logger 的appender,也就是说 子Logger 会在 父Logger 的appender里输出。
若是additivity设为false,则 子Logger 只会在自己的appender里输出,而不会在 父Logger 的appender里输出。
由于父log为:
log4j.rootCategory=, A1 , R log4j.appender.A1=org.apache.log4j.ConsoleAppender log4j.appender.A1.Threshold=INFO log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern= %-d{yyyy -MM-dd HH:mm:ss} [%c]-[%p] %m%n log4j.appender.R.Threshold=INFO log4j.appender.R.MaxFileSize=100KB log4j.appender.R.MaxBackupIndex=10 log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern= %p %t %c - %m%n
所以会打到工作台中。
将additivity设为false则只依赖与自身的配置。
相关文章推荐
- log4j日志分模块打印,同时不打印到控制台上
- log4j日志分模块打印,同时不打印到控制台上
- 日志打印longging模块(控制台和文件同时输出)
- LOG4J 将debug等日志文件信息同时打印到控制台
- Python+Selenium进行UI自动化测试项目中,常用的小技巧4:日志打印,longging模块(控制台和文件同时输出)
- Python同时向控制台和文件输出日志logging的方法 Python logging模块详解
- Log4j和logback冲突,导致log4j配置失效控制台一直打印DEBUG级别的日志
- p6spy2.x配置为slf4j-log4j输出日志同时到控制台和文件
- mapreduce在控制台打印log4j日志
- Log4j定时打印日志及添加模块名配置的Java代码实例
- Log4j 2 同时输出日志到控制台和文件
- log4j日志分模块打印
- Mybtis与Spring结合使用Log4J打印日志/Sql到控制台
- 简单实用log4j实现日志打印到控制台
- 使用log4j2打印Log,log4j不能打印日志信息,log4j2不能打印日志信息,log4j和logj2,idea控制台信息乱码(文末)
- log4j各项配置都正确,却不能在控制台打印日志
- Mybtis与Spring结合使用Log4J打印日志/Sql到控制台
- 转【Python】同时向控制台和文件输出日志logging
- 【Android 开发入门】android studio 控制台打印输出日志
- spring boot 使用logback 控制台打印日志中文乱码解决