java - 避免 printStackTrace();改用记录器调用

标签 java logging pmd printstacktrace

在我的应用程序中,我正在通过 PMD 运行我的代码。它向我显示了这条消息:

  • Avoid printStackTrace(); use a logger call instead.

这是什么意思?

最佳答案

这意味着你应该使用像 这样的日志框架或 而不是直接打印异常:

e.printStackTrace();

您应该使用此框架的 API 记录它们:

log.error("Ops!", e);

日志框架为您提供了很大的灵 active ,例如您可以选择是否要登录到控制台或文件 - 或者如果您发现某些消息在某些环境中不再相关,则可以跳过它们。

关于java - 避免 printStackTrace();改用记录器调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10477607/

相关文章:

java - 使用when(methodX).thenReturn(resultY),methodX是否被调用?

java - 如何快速创建指向 Eclipse 中元素的 Javadoc 链接?

java - 为什么有人会在部署时选择/更改特定的日志框架?

logging - Spring Boot linux 服务不轮换日志文件

java - 检测作为参数传递的对象的变化值

java - 根据 map 列表中的键比较值

java - 即使编写了代码,窗口始终打开为空白

java - 如何将所有系统输出写入JAVA文件中?

java - 如何重写空的while block

java - maven-pmd-plugin 由于 "Absent Code attribute in method that is not native or abstract in class file"执行失败