当前位置:首页 > 操作系统 > Windows

c#-在现有应用程序(Windows或Web).Net中添加日志记录的最佳方法

我继承了几个.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)!

相关教程推荐

其他课程推荐