+-

我继承了几个.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中添加日志记录的最佳方法 - 乐贴网