zoukankan      html  css  js  c++  java
  • Log4j日志重复问题

    1、日志重复问题:

    log4j添加过滤:

    比如error级别:
    log4j.appender.error.filter.errorFilter = org.apache.log4j.varia.LevelRangeFilter log4j.appender.error.filter.errorFilter.LevelMin=ERROR log4j.appender.error.filter.errorFilter.LevelMax=ERROR

    全代码演示
    log4j.rootLogger=DEBUG,info,stdout,warn,error
    
    #stdout#
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} -%-4r [%t] %-5p  %x - %m%n
    log4j.appender.stdout.Target=System.out
    log4j.appender.stdout.Encoding=utf8
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    
    #error
    log4j.appender.error=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.error.File=E:/offline-sheet/logs/jasper_print_error.log
    log4j.appender.error.DatePattern=yyyy-MM-dd'.log'
    log4j.appender.error.Threshold=error
    log4j.appender.error.layout=org.apache.log4j.PatternLayout
    log4j.appender.error.layout.ConversionPattern=[eMC]  %d{yyyy-MM-dd HH:mm:ss} %5p %c{1}:%L : %m%n
    log4j.appender.error.filter.errorFilter = org.apache.log4j.varia.LevelRangeFilter
    log4j.appender.error.filter.errorFilter.LevelMin=ERROR
    log4j.appender.error.filter.errorFilter.LevelMax=ERROR
    
    #info
    log4j.appender.info=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.info.File=E:/offline-sheet/logs/jasper_print_info.log
    log4j.appender.info.DatePattern=yyyy-MM-dd'.log'
    log4j.appender.info.Threshold=info
    log4j.appender.info.layout.ConversionPattern=[eMC]  %d{yyyy-MM-dd HH:mm:ss} %5p %c{1}:%L : %m%n
    log4j.appender.info.layout=org.apache.log4j.PatternLayout
    log4j.appender.info.filter.infoFilter = org.apache.log4j.varia.LevelRangeFilter
    log4j.appender.info.filter.infoFilter.LevelMin=INFO
    log4j.appender.info.filter.infoFilter.LevelMax=INFO
    
    #warn
    log4j.appender.warn=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.warn.File=E:/offline-sheet/logs/jasper_print_warn.log
    log4j.appender.warn.DatePattern=yyyy-MM-dd'.log'
    log4j.appender.warn.Threshold=warn
    log4j.appender.warn.layout=org.apache.log4j.PatternLayout
    log4j.appender.warn.layout.ConversionPattern=[eMC]  %d{yyyy-MM-dd HH:mm:ss} %5p %c{1}:%L : %m%n
    log4j.appender.warn.filter.warnFilter = org.apache.log4j.varia.LevelRangeFilter
    log4j.appender.warn.filter.warnFilter.LevelMin=WARN
    log4j.appender.warn.filter.warnFilter.LevelMax=WARN

    2、log4j版本问题:

    1.2.11版本测试时,及时添加了上面的过滤器,也会出现日志重复记录,即info级别记录warn和error,warn记录error等。

    1.2.17版本测试时,正常,没有日志重复记录问题。

    (猜测:11版本时并没有过滤方法,有空看完源码再来补充)

    <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
    </dependency>
  • 相关阅读:
    鸟哥的linux私房菜学习笔记 ---第7章-1
    鸟哥的linux私房菜学习笔记 ---第6章-3
    使用sublime text3 解决中文显示乱码问题
    unbuntu运行shell脚本的问题
    鸟哥的linux私房菜学习笔记 ---第6章-2
    鸟哥的linux私房菜学习笔记 ---第6章-1
    nginx限速(转)
    Zend 的嵌套模板的方法
    使用vundle管理vim插件(转载)
    Wordpress 前台采用富文本编辑器tinymce的方法
  • 原文地址:https://www.cnblogs.com/steveshao/p/12156713.html
Copyright © 2011-2022 走看看