如何引导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>