我的 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/