跟踪在日志中调用的java类

时间:2015-07-27 07:15:11

标签: java eclipse

我正在开发一个已由某人创建的项目。我想知道哪个类使用了鳄梨酱。为此,我想知道登录期间使用的所有类。所以我需要在日志中检查被调用的类的名称。有没有办法打印所有类的名称。如果我尝试logger.debug那么它将花费很多时间,我可能会错过一些java类。我只想打印java类的名称而不是任何特定的消息/文本。

1 个答案:

答案 0 :(得分:3)

我建议你在这里使用面向方面编程。使用AspectJ,您将能够记录登录流程中的所有点。

例如,使用AspectJ编译器(可以集成到Eclipse,Emacs和其他IDE)。下面是一个代码示例,它将记录包aspects.trace.demo

中所有方法的方法入口/出口
aspect AspectExample {
    before() : execution(* aspects.trace.demo.*.*(..))
    {
         logger.entering(thisJoinPointStaticPart.getSignature().getName(), thisJoinPointStaticPart.getSignature().getDeclaringType()   );

    }

    after() : execution(* aspects.trace.demo.*.*(..))
    {
         logger.exiting(thisJoinPointStaticPart.getSignature().getName() , thisJoinPointStaticPart.getSignature().getDeclaringType()  );

    }
}

以下是@AspectJ备忘单的链接 http://blog.espenberntsen.net/2010/03/20/aspectj-cheat-sheet/