【发布时间】:2010-12-28 01:20:02
【问题描述】:
我们一直在使用 log4net 来记录我们的 asp.net 网络表单应用程序。我们的日志一般在我们的业务层,典型的实现是这样的
SomeMethodCall(MethodParams)
{
Log.Start("Starting Some Method");
try
{
//do something
}
catch(Exception ex)
{
Log.Exception("exception in SomeMethodCall" + ex.message);
}
Log.End("End SomeMethod");
}
在我看来,这有点笨拙。有没有不使用 AOP 的更清洁的方法?我不确定我是否需要添加框架的开销,仅用于日志记录,我想我知道它会给我很多其他选择(我这样做不需要)
我正在考虑使用一些 AOP 框架以更简洁的方式来完成它,只需通过使用属性标记方法来记录和处理异常。
我关心 AOP 的两件事(在我最初阅读之后)。
一些框架将代码注入您的 IL(根据我的理解),并且担心它是否会误导我。我可能正在查看我的 AOP 框架给出的第 x 行,实际上它可能是我的应用程序中的第 y 行。我的恐惧是没有根据的吗?
性能:如果使用 AOP 框架会增加多少性能开销。
编辑:我也在调查PolicyInjectionApplicationBlock。不幸的是,我没有在我的业务逻辑中更改实现的奢侈
【问题讨论】:
标签: c# asp.net logging log4net aop