java - 如何记录运行时异常?

标签 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);

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

最佳答案

执行printStackTrace()java.lang.Throwable被硬编码以将输出发送到 System.err简而言之,不,您不能以任何会导致调用 printStackTrace() 的方式配置 log4j发送到"file"附加程序中配置的文件。

关于java - 如何记录运行时异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24495349/

相关文章:

java - 我的方法需要返回一个字符串,我做错了什么?

java - 使用java查找selenium对象标签

java - 下降阶乘JAVA

elasticsearch - 如何排除journalbeat中的日志/事件

线程 "Timer-1"java.lang.NullPointerException 中的异常

java - 向现有的 java 程序添加循环?

json - AngularJS 日志 JSON

java - Maven/Sonar : Enforce usage of slf4j over different logging frameworks

java - 配置 log4j org.apache.log4j.rolling.RollingFileAppender,以便在日志数量超过设置的索引量后删除压缩日志

android - R8 : does not type check and will be assumed to be unreachable