查找松散异常堆栈跟踪的日志语句

时间:2011-11-24 06:36:38

标签: java log4j

我遇到了某人编写的代码,这些代码遇到了一些异常并尝试将其记录为ERROR而不打印stacktrace。 我期望以下用法

log.error("message", exception);

然而它是

log.error("message");

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

2 个答案:

答案 0 :(得分:0)

您可以在IDE中找到Log.error(String)的所有用法,并检查它们是否在catch异常块中。这不是你应该经常检查的事情,也就是说从错误中学习是更好的。

答案 1 :(得分:0)

您可以使用Eclipse并使用正则表达式对您的工作区执行文件搜索,如下所示:

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

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

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

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