首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LoggingInterceptor或AOP测井

LoggingInterceptor或AOP测井
EN

Stack Overflow用户
提问于 2018-03-24 17:08:15
回答 1查看 464关注 0票数 0

我打算在春天处理伐木。

很少有人建议通过LoggingInterceptor来处理它,也有人建议使用AOP横切关注点。

对于企业应用程序,建议采用哪一种方法或最佳实践?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-26 05:10:17

这两种方法各有优缺点。通过LoggingInterceptor进行日志记录是更好的方法,因为它是Java提供的处理日志的标准库,您也可以进行自定义日志记录。

当您希望在更细粒度的级别上实现日志记录时,AOP更好地应用于函数或类的某些返回值。例如,如果只希望在返回值为null时才记录请求。您可以将AOP用作:

代码语言:javascript
复制
@AfterReturning(pointcut = "execution(* com.foo.bar..*.*(..))", returning = 
 "retVal")
 public void logAfterMethod(JoinPoint joinPoint, Object retVal) {
  ...
 }

您也可以使用对返回值进行日志记录,但是您需要为此编写另一个函数。一-e

代码语言:javascript
复制
public void afterReturning(Object arg0, Method arg1, Object[] arg2, Object 
 arg3) throws Throwable { 
 log = LogFactory.getLog(arg3.getClass());
 log.info("LOGGING IS: "+arg1.getName()); 
}

从生产角度来看,AOP具有性能开销,因为您要在执行所有服务调用时增加开销。而Logging Intercept只是一个具有正常执行周期的类。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49467489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档