查找丢失异常堆栈跟踪的日志语句

3

我发现某人编写的代码捕捉了一些异常,并试图将其作为错误记录,但没有打印堆栈跟踪。 我期望以下用法:

log.error("message", exception);

然而,这是关于IT技术的内容。
log.error("message");

如何通过静态代码分析器或其他类似工具捕获此类编码错误?

也许FindBugs有一个相关规则(或者允许你定义一个)。 - Thilo
2个回答

0

您可以在IDE中查找Log.error(String)的所有用法,并检查它们是否不在catch Exception块中。这不是您应该经常检查的事情,即最好从错误中吸取教训。


0

您可以使用Eclipse并在工作区中进行文件搜索,使用如下的正则表达式

^.*\.(error|debug|info)\([^,]*\);$

这是最好的选择,因为您将在搜索面板中看到结果,并能够通过双击直接跳转到文件/行。

此外,像Notepad++这样的简单编辑器可以使用其启用了正则表达式在文件中查找选项来完成工作。不幸的是,Notepad++无法执行类似于(this|that)的正则表达式OR,因此要查找log.debug(...)log.info(...),您需要手动替换error关键字。只需选择项目目录并使用以下模式:

^.*\.error\([^,]*\);$

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接