java - 配置 log4j 不同的详细程度

标签 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>

但我不知道为什么,在控制台中我有与我配置到类别标签(调试)中相同的详细信息

我的错误在哪里?

最佳答案

本质上,您希望根记录器在调试级别进行日志记录,但将附加程序限制为信息。

如何添加

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

到控制台附加器

关于java - 配置 log4j 不同的详细程度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17740512/

相关文章:

java - 如何开始,使用几个面板开发基于 swing 的应用程序,每个面板都有下一个按钮

java - 每个动态日志记录类别可插入附加程序?

java - 接口(interface)或抽象类

java - Mockito、argThat 和 hasEntry

java - 为什么 java.lang.Class 的 getInterfaces() 方法返回 Class<?>[] 而不是 Class<? super T>[]?

java - log4j 和 DOMConfigurator.configureAndWatch() 函数

gradle - Spring Boot 中的 Log4j

exception - 在 Tomcat 7 中使用不同的 ROOT 应用程序时 JNDI 资源不可用

python - 在 Python 的命令行中允许覆盖配置选项的最佳方法是什么?

java - 解析此配置文件的最佳方法是什么?