我正在开始这个新项目,我们正在逐步淘汰我们的日志/调试方法,我想在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在特定用例中是否优于日志记录/分析?
dax*_*ito 28
对于性能而言,AOP方法肯定比传统方法有一点开销.
AOP的众多优势之一是它允许您将非业务问题与业务逻辑分开.它还可以帮助您完成平凡的任务,例如在每个方法中放置一个日志记录逻辑,或者在每个方法上放置一个try-catch语句.
我认为真正的问题是,如果性能开销(根据我的经验只是最小的)将弥补您在开发过程中必须经历的平凡任务.
一位朋友之前告诉我,最好是拥有一个可维护且可扩展的应用程序,而不是使用速度更快的应用程序来维护你.缓慢可以通过多种方式得到补偿,例如升级硬件等.
这只是我的两分钱,希望这会有所帮助.
sty*_*tyx 10
我不认为这些应被视为相互排斥的替代品.
我认为AOP非常适合跟踪(即记录方法入口/出口和参数值).
我仍然使用常规日志记录:
| 归档时间: |
|
| 查看次数: |
7604 次 |
| 最近记录: |