我有一个由log4j配置的自定义日志文件,如下所示:
<appender name="ARQUIVO" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="${catalina.base}/logs/docnix.log" />
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<param name="ImmediateFlush" value="true" />
<param name="Append" value="true" />
<param name="Encodig" value="UTF-8" />
<param name="Threshold" value="DEBUG" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="[docnix] %d{dd/MM/yyyy HH:mm:ss} %-5p %c{1}:%L - %m%n" />
</layout>
(更多日志配置)
但是,由于它的大型应用程序并不总是能够捕获可能抛出nullPointerException的代码,并且当发生这种情况时,stackTrace会转到tomcat的日志文件tomcat7-stderr(例如),有没有办法重定向所有我的docnix.log有例外吗?没有做很多try / catch块来使用log4j记录器?
我已经用swallowOutPut搞砸了尝试将stderr和stdout输出重定向到我的文件但是到目前为止没有运气。
提前致谢。
答案 0 :(得分:0)
您可以将Tomcat配置为使用log4j,请参阅https://tomcat.apache.org/tomcat-8.0-doc/logging.html#Using_Log4j