是否可以将“调试”和“信息”输出写入控制台,而“信息”输出仅写入某个日志文件?例如,给定此日志记录:
LOG.debug(fileContent);
LOG.info(fileLength);
对应的是log4j.xml
什么样的?
是否可以将“调试”和“信息”输出写入控制台,而“信息”输出仅写入某个日志文件?例如,给定此日志记录:
LOG.debug(fileContent);
LOG.info(fileLength);
对应的是log4j.xml
什么样的?
好的,我现在知道了:
<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">
...
</appender>
<logger name="com.mycompany.mypackage.MyClass">
<level value="info"/>
<appender-ref ref="otherAppender" />
</logger>
<root>
<priority value="debug" />
<appender-ref ref="console" />
</root>
</log4j:configuration>
所有调试和信息消息都发送到console
附加程序。信息消息转到otherAppender
。
转到此页面以获取一些示例。
就像在程序中添加两个不同的 appender 一样简单,一个 appender 用于您想要执行的每种类型的日志记录。
With the configuration from Eddie I can only get the "info" output for MyClass. But what I would like to have is that the "info" output of MyClass goes to a file AND the "debug" output of MyClass goes to console.
按照 rwwilden 的建议做,但删除这部分:
<logger name="com.mycompany.mypackage.MyClass">
<level value="info"/>
<appender-ref ref="otherAppender" />
</logger>
并<param name="Threshold" value="INFO"/>
在otherAppender下添加。