【发布时间】:2017-02-09 09:14:51
【问题描述】:
在大型代码库中,可能会出现如下错误的记录器初始化:
public class MyClass implements Whatever {
private static final Logger logger = Logger.getLogger(WrongClass.class);
(应改为 getLogger(MyClass.class))。我正在寻找一种快速而肮脏的方法来发现它们而无需编写整个程序。误报,如果不是太多(例如内部类)是可以接受的。
我在 Eclipse 中尝试了这个正则表达式搜索,但它与我上面的示例不匹配:
(?s)(?<!class \1.*)Logger.getLogger\((\w+)\.class
我也想过一些find -exec grep -q \; -print,但我也没有让它发挥作用。
【问题讨论】:
-
您需要命令行
grep来识别这些文件吗? -
简单的告诉我哪些文件是可疑的。它可以在 Eclipse 搜索、命令行、任何标准程序员工具中递归检查文件树并返回可疑文件名。对于这么简单的事情,编写一个完整的 java 程序似乎太过分了。我想知道是否可以使用正则表达式......
标签: regex eclipse grep find negative-lookbehind