问题描述
在"信息"输出仅写入某些日志文件时,是否可以将"调试"和"信息"输出写入控制台?例如,给定此记录:
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 appender.信息消息转到otherAppender.
其他推荐答案
转到此以获取一些示例.
这很简单,就像在您的程序中添加两个不同的附录,每种类型的日志记录的附录.
问题描述
Is it possible to have "debug" and "info" output written to the console while the "info" output is only written to some log file? For example, given this logging:
LOG.debug(fileContent); LOG.info(fileLength);
What does a corresponding log4j.xml look like?
推荐答案
Ok, I've got it now:
<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>
Thanks for your help!
其他推荐答案
That is definitely possible. The configuration would look something like this (not checked for syntactic correctness):
<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>
All debug and info messages go to the console appender. Info messages go to otherAppender.
其他推荐答案
Go to this page for some examples.
It's as simple as adding two different appenders to your program, one appender for each type of logging you want to do.