log4j.rootLogger = INFO,F1,F2log4j.appender.F1=org.apache.log4j.ConsoleAppender 
log4j.appender.Threshold=DEBUG 
log4j.appender.F1.Target=System.out 
log4j.appender.F1.layout=org.apache.log4j.PatternLayout 
log4j.appender.F1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%nlog4j.appender.Threshold应该怎么理解呢!!

解决方案 »

  1.   

    Threshold是个全局的过滤器,它将把低于所设置的level的信息过滤不显示出来。
    看一个例子:
    你这里设置的级别是INFO,但Threshold 过滤为DEBUGINFO>DEBUG还是只显示INFO的信息。所以这里设置为DEBUG是没有什么意义的.
      

  2.   

    所以如果像下面代码那样,实现不同appender不同的过滤,可以这样理解吗
    log4j.rootLogger = INFO,F1,F2log4j.appender.F1=org.apache.log4j.ConsoleAppender 
    log4j.appender.Threshold=warn
    log4j.appender.F1.Target=System.out 
    log4j.appender.F1.layout=org.apache.log4j.PatternLayout 
    log4j.appender.F1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%nlog4j.appender.F2=org.apache.log4j.ConsoleAppender 
    log4j.appender.Threshold=error
    log4j.appender.F2.Target=System.out 
    log4j.appender.F2.layout=org.apache.log4j.PatternLayout 
    log4j.appender.F2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n
      

  3.   

    可以这样理解啦,但要写成这样子。
    log4j.appender.F1.Threshold=warnlog4j.appender.F2.Threshold=error
      

  4.   

    有用,纠结了好一会呢,因为这个Threshold