【发布时间】:2016-11-23 15:29:32
【问题描述】:
在 Java 中,异常处理可以通过多种方式完成。让我们将使用 Logging 框架的异常处理区分为 log4j 或 sl4j,除了处理异常之外,这两者都可以将日志重定向到文件。
如果我们使用异常类方法printStackTrace()而不是Logger框架来处理异常并通过将其重定向到文件而不是标准错误输出/控制台来获取异常调用堆栈,现在,以下是问题:
- 以后的实现会完全处理异常还是将异常打印到文件?
- 在生产环境中实施 Logger 框架优于
printStacktrace()的理由是什么?
提前致谢!
【问题讨论】:
-
我通常看到两者都被实际使用。我已经看到使用了
log4j和sl4j,当捕获到异常时,printStacktrace()的输出被发送到记录器。 -
感谢蒂姆,但想知道在生产中选择哪个选项,因为我们可以使用配置来实现附加程序和旋转是唯一使它比 printstacktrace() 更有利的事情跨度>
-
第一个问题中的“稍后实施”是什么意思?
-
这就像比较将内容保存到文件与使用数据库。如果你只做非常简单的事情,你可能看不出有什么不同。这里同样适用。
-
@Niklas 稍后我打算说我们是否使用 printStackTrace() 反对使用记录器框架
标签: java exception log4j stack-trace printstream