如何引导log4j输出,使不同的日志级别进入不同的附加器?

如何引导log4j输出,使不同的日志级别进入不同的附加器?,log4j,Log4j,是否可以将“调试”和“信息”输出写入控制台,而“信息”输出仅写入某些日志文件?例如,给定此日志记录: LOG.debug(fileContent); LOG.info(fileLength); 相应的log4j.xml看起来像什么?这是绝对可能的。配置如下所示(未检查语法正确性): ... ... 所有调试和信息消息都会转到控制台追加器。信息消息转到otherAppender转到第页了解一些示例 只需在程序中添加两个不同的appender即可,每种类型的日志记录都有一个appender。通

是否可以将“调试”和“信息”输出写入控制台,而“信息”输出仅写入某些日志文件?例如,给定此日志记录:

LOG.debug(fileContent);
LOG.info(fileLength);

相应的
log4j.xml
看起来像什么?

这是绝对可能的。配置如下所示(未检查语法正确性):


...
...
所有调试和信息消息都会转到
控制台
追加器。信息消息转到
otherAppender

转到第页了解一些示例


只需在程序中添加两个不同的appender即可,每种类型的日志记录都有一个appender。

通过Eddie的配置,我只能获得MyClass的“info”输出。但我想要的是MyClass的“info”输出进入一个文件,MyClass的“debug”输出进入控制台。

按照rwwilden的建议执行,但删除此部分:

<logger name="com.mycompany.mypackage.MyClass">
    <level value="info"/>
    <appender-ref ref="otherAppender" />
</logger>

然后在另一个附录下添加

好的,我现在就知道了:

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    <appender name="console" class="org.apache.log4j.ConsoleAppender">
        ...
    </appender>

    <appender name="otherAppender"
              class="org.apache.log4j.FileAppender FileAppender">
       <param name="Threshold" value="INFO"/>
        ...
    </appender>

    <root>
        <priority     value="debug" />
        <appender-ref ref="console" />
        <appender-ref ref="otherAppender" />
    </root>
</log4j:configuration>

...
...
谢谢你的帮助

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    <appender name="console" class="org.apache.log4j.ConsoleAppender">
        ...
    </appender>

    <appender name="otherAppender"
              class="org.apache.log4j.FileAppender FileAppender">
       <param name="Threshold" value="INFO"/>
        ...
    </appender>

    <root>
        <priority     value="debug" />
        <appender-ref ref="console" />
        <appender-ref ref="otherAppender" />
    </root>
</log4j:configuration>