我继承了几个.Net(C#)应用程序,该应用程序未添加任何跟踪或日志记录.该应用程序可以完成创建,读取,更新和删除记录的所有操作.它发送电子邮件并呼叫Web服务.
当然,维护它是一场噩梦,因为没有日志记录也没有try catch机制(我知道我也不敢相信).
因此,在该系统中实现日志记录的最佳方法是什么.我不能转到每个函数调用并添加日志记录行.有什么方法可以使动态日志记录基于我提供的方法名称进行记录.
即调用UpdateOrder()时,我的记录器应记录日志(调用了更新的订购方法)
谢谢
解决方法:
您可以使用Postsharp之类的AOP框架来创建特定属性来记录方法调用:
<code>public class TraceAttribute : OnMethodBoundaryAspect
{
public override void OnEntry( MethodExecutionEventArgs eventArgs)
{ Trace.TraceInformation("Entering {0}.", eventArgs.Method); }
public override void OnExit( MethodExecutionEventArgs eventArgs)
{ Trace.TraceInformation("Leaving {0}.", eventArgs.Method); }
}
</code>
(此代码是主页上的示例)
然后,您可以将此属性应用于要记录的方法:
<code>[Trace]
public void UpdateOrder()
{
...
}
</code>
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!