配置具有不同详细程度的log4j

时间:2013-07-19 07:33:34

标签: java log4j configuration-files

我遇到了log4j

的问题

我想要一个解决方案,在控制台中我只有INFO日志,在特定文件中有另一个详细程度(如DEBUG)

这是我的配置:

<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%d{HH:mm:ss} %-5p [%c] [%C{1}.%M:%L] %m%n"/>
    </layout>
</appender>

<appender name="PP" class="org.jboss.logging.appender.DailyRollingFileAppender">
    <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
    <param name="File" value="log/polling_processor.log"/>
    <param name="DatePattern" value="'.'yyyy-MM-dd"/>
    <param name="Append" value="true"/>
    <param name="Encoding" value="UTF-8"/>
    <param name="Threshold" value="TRACE"/><!-- OFF FATAL ERROR WARN INFO DEBUG TRACE ALL -->

    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d{HH:mm:ss} %-5p [%c] [%C{1}.%M:%L] %m%n"/><!-- "%d %-5p [%c] %m%n" -->
    </layout>
</appender>

<appender name="TR" class="org.jboss.logging.appender.DailyRollingFileAppender">
    <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
    <param name="File" value="log/trasmission.log"/>
    <param name="DatePattern" value="'.'yyyy-MM-dd"/>
    <param name="Append" value="true"/>
    <param name="Encoding" value="UTF-8"/>
    <param name="Threshold" value="TRACE"/><!-- OFF FATAL ERROR WARN INFO DEBUG TRACE ALL -->

    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d{HH:mm:ss} %-5p [%c] [%C{1}.%M:%L] %m%n"/><!-- "%d %-5p [%c] %m%n" -->
    </layout>
</appender>

<category name="POLLING_PROCESSOR">
    <priority value="DEBUG" />
    <appender-ref ref="PP"/>
</category> 

<category name="TRASMISSION">
    <priority value="DEBUG" />
    <appender-ref ref="TR"/>
</category> 

<root>
    <level value="info"/>
    <appender-ref ref="CONSOLE"/>
</root>

但是我不知道为什么,在控制台中我有同样的详细程度,我已经配置到类别标签(调试)

我的错误在哪里?

1 个答案:

答案 0 :(得分:0)

基本上,您希望将根记录器日志设置为调试级别,但将appender限制为info。

如何添加

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

到控制台appender