我在春天读了目前和用于使用AOP的测井方法调用的开始和结束的一个例子.
我还读到使用AOP会影响性能.
对于这种类型的日志记录,使用Spring AOP是个好主意吗?我的理解是Spring使用Dynamic AOP会更好地将静态AOP(如AspectJ)用于这种类型的AOP.
Curently在我工作的公司的编码策略需要记录的一个可笑的量,我想,以减少日志代码的ammount的我必须写,并提高我的代码的可读性.
我吠叫错了树吗?
我想在我的所有公共方法中添加"trace"消息,如下所示:
public void foo(s:String, n:int) { // log is a log4j logger or any other library
log.trace(String.format("Enter foo with s: %s, n: %d", s, n))
...
log.trace("Exit foo")
}
现在我想log.trace用AOP(和字节码检测)自动将所有这些添加到我的方法中.我在考虑AspectJ.是否有意义?你知道任何开放源代码吗?
我正在开始这个新项目,我们正在逐步淘汰我们的日志/调试方法,我想在SO上给你们其他人提出问题,给出
private final static Logger logger = LoggerFactory.getLogger(getClass());
...
public void doSumething(){
...
if(logger.isDebugEnabled())
logger.debug("...");
}
Run Code Online (Sandbox Code Playgroud)
要么
@After("execution(* *.doSomething())")
public void logAfter(JoinPoint jp){
logger.debug("...");
}
Run Code Online (Sandbox Code Playgroud)
AOP方法真的比使用传统方法更好吗?或者AOP在特定用例中是否优于日志记录/分析?