+-
c#-在现有应用程序(Windows或Web).Net中添加日志记录的最佳方法
我继承了几个.Net(C#)应用程序,该应用程序未添加任何跟踪或日志记录.该应用程序可以完成创建,读取,更新和删除记录的所有操作.它发送电子邮件并呼叫Web服务.

当然,维护它是一场噩梦,因为没有日志记录也没有try catch机制(我知道我也不敢相信).

因此,在该系统中实现日志记录的最佳方法是什么.我不能转到每个函数调用并添加日志记录行.有什么方法可以使动态日志记录基于我提供的方法名称进行记录.

即调用UpdateOrder()时,我的记录器应记录日志(调用了更新的订购方法)

谢谢

最佳答案
您可以使用 Postsharp之类的AOP框架来创建特定属性来记录方法调用:

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);   } 
}

(此代码是主页上的示例)

然后,您可以将此属性应用于要记录的方法:

[Trace]
public void UpdateOrder()
{
    ...
}
点击查看更多相关文章

转载注明原文:c#-在现有应用程序(Windows或Web).Net中添加日志记录的最佳方法 - 乐贴网