这个问题在这里已经有答案了:
为什么exception.printstacktrace()被认为是不好的做法(9个答案)
上个月关门了。
我用过 e.printStackTrace
在我的一个java应用程序中。然而,我在一些论坛上看到,我们应该避免使用 printStackTrace()
. 有人能解释一下为什么我应该避免使用 e.printStackTrace()
还有什么替代方法呢?请分享这段代码作为e.printstacktrace()的替代
这个问题在这里已经有答案了:
为什么exception.printstacktrace()被认为是不好的做法(9个答案)
上个月关门了。
我用过 e.printStackTrace
在我的一个java应用程序中。然而,我在一些论坛上看到,我们应该避免使用 printStackTrace()
. 有人能解释一下为什么我应该避免使用 e.printStackTrace()
还有什么替代方法呢?请分享这段代码作为e.printstacktrace()的替代
3条答案
按热度按时间aiazj4mn1#
应该使用记录器,而不是在流上打印整个堆栈跟踪。e、 printstacktrace()将一个throwable及其堆栈跟踪打印到流中,这可能会无意中暴露敏感信息。
应该使用记录器来打印一次性文件,因为它们有很多优点。
更多信息:https://owasp.org/www-project-top-ten/2017/a3_2017-sensitive_data_exposure.html
kyks70gy2#
您应该避免这样做,因为最好使用log4j这样的记录器,这样您就可以在文件中写入日志并更好地管理日志。
的确,方法
用于直接在控制台中打印异常堆栈,而这(对于生产应用程序)是不好的。
a7qyws3x3#
我通常这样记录错误:
如果您使用lombok,那么可以使用
@Log
类的注解。