2

プロジェクトで System.getProperty が呼び出される場所を制御できません。System.getProperty("SomeProperty"); のたびに、コンソールに情報を記録したいと考えています。と呼ばれます。

これを達成する方法。

4

2 に答える 2

3

例外をスローしたり、メソッド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

于 2012-07-20T03:24:43.217 に答える
3

AspectJとそのを使用したいpointcut詳細については、こちらをご覧ください。

これは、上記のチュートリアルを応用した例です。

 @Aspect
 public class Foo {

   @Pointcut("call(* java.lang.System.getProperty(..))")
   void anyUtilityCall() {
       // do whatever you need
   }

 }
于 2012-07-20T03:30:25.503 に答える