如何记录运行时异常?

时间:2014-06-30 17:06:52

标签: java logging log4j

我有我的log4j配置文件

log4j.rootLogger=INFO, ERROR, DEBUG, file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\Users\\~\\website.txt
log4j.appender.file.MaxFileSize=2MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%m%n

这会打印所有跟踪但是,我想调整我的配置,以便我也可以将e.printStackTrace()打印到我的日志中。

我可以通过

实现同样的目标
LOGGER.error("Runtime exception", ex);

我可以直接将堆栈跟踪打印到日志吗?

1 个答案:

答案 0 :(得分:0)

printStackTrace()java.lang.Throwable的实现是硬编码的,以便将输出发送到System.err,所以简而言之,不能以任何可能导致调用的方式配置log4j将printStackTrace()发送到"文件中配置的文件"附加器。