2013-03-04 116 views
0

我使用Log4J進行Java應用程序。Log4J - 記錄器不工作

請找我下的log4j.xml文件的摘錄:

<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> 
     <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/> 
     <param name="Target" value="System.out"/> 
     <param name="Threshold" value="INFO"/> 

     <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/> 
     </layout> 
    </appender> 

    <logger name="my.package.name"> 
    <priority value="debug" /> 
    </logger> 

我想打印每個日誌有info水平和debug日誌我的包my.package.name。 但是,這些debug日誌不顯示... :(

有人能幫助我嗎?

回答

1

變化

<param name="Threshold" value="INFO"/> 

<param name="Threshold" value="debug"/> 

既然你已經把ThresholdINFO只有info and above會記錄,調試級別低於信息級別,所以這就是爲什麼調試級別沒有記錄。

log4j層次結構是TRACE Level < DEBUG Level< INFO Level< WARN Level < ERROR Level < FATAL Level

希望這會有幫助

+0

好的。但是有沒有可能只打印調試指定的包和其他包的信息? – user2132115 2013-03-06 09:57:41

+0

是的,您可以爲不同的包創建不同的記錄器,您可以在其中指定記錄級別 – Sam 2013-03-06 10:00:11

+0

但是,如果一個記錄器的級別低於Appender閾值,是否會打印日誌? – user2132115 2013-03-07 09:46:47