如何找出项目中调用System.getProperty()方法的位置?

时间:2012-07-20 03:16:01

标签: java swing java-ee

我无法控制项目中调用System.getProperty的位置。 System.getProperty(“SomeProperty”);我想在控制台中记录一些信息;叫做。

如何实现这一目标。

2 个答案:

答案 0 :(得分:3)

你可以尝试创建一个引发异常的java.lang.SecurityManager或在checkPropertyAccess(String) method中输出一些东西。当某些东西访问系统属性时会调用它。

有关安全管理员的更多信息:

http://docs.oracle.com/javase/tutorial/essential/environment/security.html
http://java.sun.com/developer/onlineTraining/Programming/JDCBook/signed2.html

答案 1 :(得分:3)

您想使用AspectJ及其pointcut。看看here了解更多信息。

以下是根据上述教程改编的示例。

 @Aspect
 public class Foo {

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

 }