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>
  • 相关阅读:
    持续集成环境搭建(一)
    The POSIX API/nss/nscd
    [postfix]转发邮件设置
    [python]python安装包错误
    栈及栈帧讲解
    kernel-init-bash
    nginx no input file specified
    Lumen/Laravel调试API接口利器laravel-debugbar
    homestead实现外部局域网络其他主机的访问
    PHP rabbitmq扩展安装
  • 原文地址:https://www.cnblogs.com/steveshao/p/12156713.html
Copyright © 2011-2022 走看看