我在將堆棧跟蹤打印到我的日誌文件時出現問題。 Log4j.properties:log4j截斷堆棧跟蹤
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=/var/log/app/application.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %c{1} [%p] %m%n
log4j.rootLogger=warn, file
log4j.logger.com.app=info, file
log4j.additivity.com.app=false
當我登錄這樣的異常在我的課UserGuard.java:
} catch (Exception e) {
log.error("Uncatched error", e);
response.setEntity(new StringRepresentation(" "));
response.setStatus(Status.SERVER_ERROR_INTERNAL);
}
這導致我application.log:
2011-12-28 07:30:03 UserGuard [ERROR] Uncatched error
java.lang.NullPointerException
沒有堆棧顯示的痕跡。這真的很煩人。 謝謝!
在另一臺機器上嘗試了相同的pom.xml和相同的log4j.properties,並且正常工作。我應該認爲這個問題是我的Java版本嗎?
'log4j.additivity.file = false' – 2011-12-28 12:59:48
如果您使用不同的appender,例如ConsoleAppender,問題是否仍然存在?您是否嘗試過運行啓用了調試輸出的log4j,以便您可以查看log4j配置中是否有任何錯誤? – chrisbunney 2011-12-28 13:02:16
我確實嘗試過都沒有成功。查看我的編輯 – Gonzalo 2011-12-28 19:36:58