2013-03-04 119 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