将记录和跟踪与AspectJ结合使用

时间:2013-02-24 17:14:57

标签: logging aop aspectj

首先,我想定义跟踪和日志记录之间的区别,如“AspectJ in Action”一书中所述,第257页:

  

大多数开发人员(以及本书)将日志记录称为 ,用于生成特定于一段代码所携带逻辑的消息

     

跟踪通常被视为为较低级别事件生成消息的 行为 :方法进入和退出,对象构造,例外 - 处理,状态修改等。

因此,使用AspectJ跟踪并不是很难。但是,如何使记录与AspectJ跟踪保持一致

例如,我使用sl4j logger进行方面跟踪,我需要使用相同的记录器进行记录。

其中一个解决方案是编写单独的方面,如下所示:

around(): catchCallToLogger(): *pointcut that intercepts calls like log(), debug(), info() etc from some logging toolkit* {
   *call logger from tracing aspect*
}

所以,这个选项是可以接受的,但是我想知道这个方法是否有替代方案,以及在现实世界中是否需要组合跟踪和记录。

0 个答案:

没有答案