如何在没有污染方法的情况下登录?

时间:2013-03-23 17:08:58

标签: c# c#-4.0 logging

我知道AOP和Postsharp但是这里的约束是我不能使用postharp并且使用属性进行日志记录会产生性能开销。

但是现在我又要把日志代码放在每个方法中,很多复制粘贴,也不是方法的一部分。所以,我的功能不止一件作品。拥有业务逻辑和一起登录有点不太好看。

无论如何都有,比如让课程开放,可以从课程或功能的外面添加日志。或者我只需要采用传统的伐木方式。

如果需要进一步的信息,请告诉我。任何好的/另一种伐木方式的建议也受到欢迎。

3 个答案:

答案 0 :(得分:1)

正如Peter Ritchie所说,http://msdn.microsoft.com/en-us/magazine/gg490353.aspx是一个很好的解决方案。你可以看看http://www.microsoft.com/en-us/download/details.aspx?id=17866或者像Ninject这样的其他DI框架,这对于MVC项目来说是个好习惯。 无论如何,这是关于DI性能http://www.palmmedia.de/Blog/2011/8/30/ioc-container-benchmark-performance-comparison的良好阐述。

答案 1 :(得分:1)

企业图书馆和团结。您可以使用合成来创建其他类的日志记录装饰器,然后将其传递给另一个类。

查看msdn.microsoft.com/en-us/magazine/gg490353.aspx

答案 2 :(得分:0)

您可以为班级创建装饰器,看看http://en.wikipedia.org/wiki/Decorator_pattern