我希望将文件记录器配置为以
的方式记录类别'x'我见过使用Threshold在不同的appender中为同一类别实现不同日志记录级别的示例。在这种情况下,它似乎不是一个有效的解决方案,因为在两个appender中我希望在DEBUG级别至少有一个类别。
我尝试过这样的事情:
<appender name="FILE_ONE" class="org.jboss.logging.appender.DailyRollingFileAppender">
...
</appender>
<appender name="FILE_TWO" class="org.jboss.logging.appender.DailyRollingFileAppender">
...
</appender>
<category name="y">
<priority value="DEBUG"/>
<appender-ref ref="FILE_ONE"/>
</category>
<category name="x">
<priority value="INFO"/>
<appender-ref ref="FILE_ONE"/>
</category>
<category name="x">
<priority value="DEBUG"/>
<appender-ref ref="FILE_TWO"/>
</category>
但第二类声明会覆盖第一个类别。
这甚至可以做到吗?
答案 0 :(得分:1)
尝试此操作..将appender
标记下的优先级设置为param name="Threshold"
。
<appender name="FILE_ONE" class="org.jboss.logging.appender.DailyRollingFileAppender">
<param name="Threshold" value="INFO"/>
...
</appender>
<appender name="FILE_TWO" class="org.jboss.logging.appender.DailyRollingFileAppender">
<param name="Threshold" value="DEBUG"/>
...
</appender>
答案 1 :(得分:0)
与this solution类似,您可以使用自己的过滤器来完成工作。此过滤器应允许给定的specialCategory记录级别specialCategoryLevel,级别generalLevel的其他类别。
<appender name="FILE_ONE" class="org.jboss.logging.appender.DailyRollingFileAppender">
<filter class="your.own.Filter">
<param name="specialCategory" value="x" />
<param name="specialCategoryLevel" value="DEBUG" />
<param name="generalLevel" value="INFO" />
</filter>
...
</appender>
<appender name="FILE_TWO" class="org.jboss.logging.appender.DailyRollingFileAppender">
<param name="Threshold" value="DEBUG"/>
...
</appender>
<category name="y">
<appender-ref ref="FILE_ONE"/>
</category>
<category name="x">
<appender-ref ref="FILE_ONE"/>
<appender-ref ref="FILE_TWO"/>
</category>
答案 2 :(得分:0)
对我们来说是这样的:
<appender name="RAF_TIP_CommissionEnrich_v01_CC" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="/opt/sag/99/IntegrationServer/instances/prodap2a/logs/TIP_CommissionEnrich_v01_CC_Trace.log"/>
<param name="DatePattern" value="'.'yyyyMMdd"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p - %m%n"/>
</layout>
</appender>
<category name="TIP_CommissionEnrich_v01_CC">
<priority value="INFO"/>
<appender-ref ref="RAF_TIP_CommissionEnrich_v01_CC"/>
</category>
<!-- root element - leave it on the bottom of file -->
<appender name="applicationLog" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="/opt/sag/99/IntegrationServer/instances/prodap2a/logs/application.log"/>
<param name="DatePattern" value="'.'yyyyMMdd"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p - %m%n"/>
</layout>
</appender>
<root>
<level value="ERROR"/>
<appender-ref ref="applicationLog"/>
</root>
然后你有TIP_CommissionEnrich_v01_CC的所有错误+信息