2011-11-24 48 views
3

我遇到了某人写的代码,这个代码发现了一些异常,并尝试将其记录为ERROR而不打印堆栈跟踪。 我希望下面的使用查找松散异常堆栈跟踪的日志语句

log.error("message", exception); 

但是它是

log.error("message"); 

如何通过静态代码分析或任何这样的工具捕捉这些编码错误?

+0

也许FindBugs的有一个规则(或者让你定义一个)。 – Thilo

回答

0

您可以使用Eclipse并做文件搜索在你的工作空间与正则表达式这样的:

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

这是你会看到在搜索面板的结果是最好的选择能够直接通过双击来跳转到文件/线。

也像Notepad++一个简单的编辑器可以用正则表达式,其查找做的工作在文件选项启用。不幸的是,记事本+ +是不是能够做一个正则表达式OR(this|that)所以要找到log.debug(...) S和log.info(...)是你需要手动更换error关键字。只需选择你的项目的目录,并使用这样的模式:

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

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