0

我想使用 Log4J 将非常特定性质的输出发送到与为其他所有内容指定的日志不同的日志。现在,我有一个 log4j.properties,看起来有点像:

log4j.rootLogger=INFO,catchall
log4j.logger.SPECIAL_LOGGER=INFO,specials
... catchall, specials appenders defined

我只想要 appender 中 LoggerSPECIAL_LOGGERspecials输出——很简单——但我不想要appenderSPECIAL_LOGGER中的catchall输出。我认为这意味着我不能用日志级别做我需要的事情。

有任何想法吗?

4

2 回答 2

3

只需设置适当的可加性即可。将此行添加到您的 log4j 配置中。

log4j.additivity.SPECIAL_LOGGER=false
于 2012-04-02T13:19:21.950 回答
0

我在我的应用程序中使用了它来使其工作。您需要在 log4j.xml 中创建单独的附加程序,这样可能会有所帮助:

<appender name="myAppender" class="org.apache.log4j.DailyRollingFileAppender">
    <param name="file" value="logs/date.log" />     
    <param name="append" value="true" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d{HH:mm:ss z} %-5p [%c{1}] [%t] %C:%L - %m%n" />
    </layout>
</appender>

在 appender 中使用不同的参数,您可以按照自己的方式对其进行自定义。

于 2012-04-02T13:22:54.457 回答