连续记录方法,呼叫&退出时间

时间:2013-12-31 12:25:37

标签: c# logging dependency-injection n-tier-architecture

尝试记录调用方法时的时间以及完成其操作并返回值退出时间。

我正在尝试N层架构。喜欢

我。服务层
 II。业务层
 III。数据层

数据层定义了一个方法A,它是Bushiness图层方法B的消费者。业务层方法B由服务层方法D调用。

日志就像

Service Method D Called At {Time Stamp}
Business Layer Method B Called At {Time Stamp}
Data Layer Method called at {Time Stamp}
Data Layer Returned Response at {Time Stamp} .Exiting 
Business Layered Received response from Data layer at {Time Stamp}. Exiting 
Service Layered Received exception from Business layer Method. at {Time Stamp}. Exiting 

目前我为此传递了一个额外的字符串构建器对象来维护日志和相应的时间。附加当前范围和时间戳。

我可以通过依赖注入自动执行此过程,因此我可以避免传递额外的字符串构建器对象。或者有更好的解决方案。

1 个答案:

答案 0 :(得分:4)

您可以使用不同的方法来获得所需的功能。

一种方法是拦截,因为(例如)Unity提供(见http://msdn.microsoft.com/en-us/library/dn178466(v=pandp.30).aspx

另一种方法是使用某种方面。有关示例(http://www.postsharp.net/

,请参阅Postsharp