我正在迈出 Android 开发的第一步,并了解诸如 Fragment 的生命周期之类的事情,我正在使用将调用记录器作为第一行的方法,例如
@Override
public void onCreate(Bundle savedInstanceState) {
logger.debug("> onCreate(" + savedInstanceState + ")");
...
}
这很好用,除了将这些消息添加到每个方法中相当麻烦,而且它使代码有点难以阅读。我发现使用AspectJ和其他工具(例如jcabi-aspects)可以使用类似这样的东西:
@Loggable(Loggable.DEBUG)
public String load(URL url) {
return url.openConnection().getContent();
}
这将打印:
[DEBUG] #load('http://www.google.com'): returned "<html ..." in 23ms
这听起来很酷,但是我该如何将这个功能添加到 Android Studio 中呢?我可以找到Eclipse 的指南和这个IntelliJ 帮助页面(但不是提到的插件),但我不知所措。我欢迎一份关于如何开始使用 AspectJ(也许还有 jcabi-aspects)的迷你指南。