プロジェクトで System.getProperty が呼び出される場所を制御できません。System.getProperty("SomeProperty"); のたびに、コンソールに情報を記録したいと考えています。と呼ばれます。
これを達成する方法。
プロジェクトで System.getProperty が呼び出される場所を制御できません。System.getProperty("SomeProperty"); のたびに、コンソールに情報を記録したいと考えています。と呼ばれます。
これを達成する方法。
例外をスローしたり、メソッドjava.lang.SecurityManager
でいくつかのものを出力したりするを作成してみてください。何かがシステムプロパティにアクセスすると呼び出されます。checkPropertyAccess(String)
セキュリティマネージャに関する詳細情報:
http://docs.oracle.com/javase/tutorial/essential/environment/security.html
http://java.sun.com/developer/onlineTraining/Programming/JDCBook/signed2.html
AspectJとそのを使用したいpointcut
。詳細については、こちらをご覧ください。
これは、上記のチュートリアルを応用した例です。
@Aspect
public class Foo {
@Pointcut("call(* java.lang.System.getProperty(..))")
void anyUtilityCall() {
// do whatever you need
}
}