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