作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
什么时候应该使用 Throwable.printStackTrace()
打印错误,而不是使用 log4j 方法 error(String, Throwable)
?
差异在哪里,共同点是什么?
//干杯
最佳答案
Throwable.printStackTrace()将堆栈跟踪打印到标准错误,而 log4j 方法会将其打印在您喜欢的位置。您可以通过log4j configuration file指定何时以及如何打印堆栈跟踪。 .
第二种方法是最好的方法,因为您始终可以决定将错误写入标准错误,同时也可以将其打印在滚动文件中。您的缺点是您的项目中需要 log4j 依赖项,但也有一些解决方案可以在不声明此依赖项的情况下使用 log4j 并仅在运行时提供它。
编辑:常见用途是使用 log4j api 在代码中写入日志,并在部署应用程序的位置配置 log4j。另一种方法是使用 java.util.logging 编写它们以避免任何直接依赖,您可以使用 slf4j用于从您和第 3 方代码捕获任何日志并将其传送到您喜欢的日志记录 API(即 log4j)的桥梁
关于java - 我什么时候应该使用 error.printStrackTrace() 而不是 log4.j.error(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10535854/
什么时候应该使用 Throwable.printStackTrace() 打印错误,而不是使用 log4j 方法 error(String, Throwable)? 差异在哪里,共同点是什么? //干
我是一名优秀的程序员,十分优秀!