私はすべてのロガークラスがlog4j型である必要があるレポ用のPMDルールを作成しようとしています。 例:XPathクエリで条件を使用する
コード:
import some;
class Foo{
Logger log = Logger.getLogger(Foo.class.getName());
}
}
PMDルールのための私のXPathクエリ:
(//ImportDeclaration //Name[@Image!='org.apache.log4j.Logger'])
|
(//ClassOrInterfaceBodyDeclaration //FieldDeclaration //Type //ReferenceType //ClassOrInterfaceType[@Image='Logger'])
Loggerクラスは、それが型のlog4jのないコード&に使用されている場合、私はここでテストしていますそれは違反です。
このxpathクエリには何らかのエラーがあるようです。 Loggerオブジェクトがクラスで作成されているかどうかを確認したい場合は、Apache log4jのインポートが必要です。しかし、私は置くことができませんし、オペレータまたはif..else条件は、同じです。 – babu29