首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >e.printStackTrace()的替代方法和示例代码会很有帮助

e.printStackTrace()的替代方法和示例代码会很有帮助
EN

Stack Overflow用户
提问于 2020-11-18 19:53:12
回答 3查看 834关注 0票数 1

我在我的一个Java应用程序中使用了e.printStackTrace。然而,我在一些论坛上看到,我们应该避免使用printStackTrace()。有人能给我解释一下为什么我应该避免使用e.printStackTrace()吗?有什么替代方案?请分享这段代码,以获得e.printStackTrace()

EN

回答 3

Stack Overflow用户

发布于 2020-11-18 19:59:23

应该使用记录器,而不是在流上打印整个堆栈跟踪。e.printStackTrace()将Throwable及其堆栈跟踪打印到流,这可能会无意中暴露敏感信息。

记录器应该用来打印Throwables,因为它们有很多优点。

更多信息:https://owasp.org/www-project-top-ten/2017/A3_2017-Sensitive_Data_Exposure.html

票数 2
EN

Stack Overflow用户

发布于 2020-11-18 19:58:46

您应该避免使用它,因为最好使用像Log4j这样的记录器,这样您就可以在文件中写入日志并更好地管理日志。

实际上,该方法

代码语言:javascript
运行
复制
e.printStackTrace()

用于直接在控制台中打印异常堆栈,这(对于生产应用程序)是不好的。

票数 0
EN

Stack Overflow用户

发布于 2020-11-18 20:03:10

我通常这样记录错误:

代码语言:javascript
运行
复制
} catch (IOException ex) {
  log.log(Level.WARNING, ex.getMessage(), ex);
}

如果您使用lombok,您可以在类上使用@Log注释将记录器添加到您的类。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64892557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档