zoukankan      html  css  js  c++  java
  • log4j日志分模块打印,同时不打印到控制台上

              由于定时刷新程序的启用,导致catalina.out配置文件中打入大量日志,致使程序调试困难。

             无法正常查看日志。所以客户要求将性能流量配置日志迁移出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则只依赖与自身的配置。
  • 相关阅读:
    LPTSTR、LPCSTR、LPCTSTR、LPSTR的意义
    字符,字节和编码
    堆和栈的区别
    js正则表达式限制文本框只能输入数字,小数点,英文字母
    WPF 中的 LinkButton
    WPF中DataGrid的应用
    C#获取web.config配置文件内容
    js中格式化时间字符串
    WPF中的用户控件(UserControl)
    VS2010安装其他版本framework的问题解决方案
  • 原文地址:https://www.cnblogs.com/new0801/p/6175980.html
Copyright © 2011-2022 走看看