我知道AOP和Postsharp,但这里的约束是我无法使用postsharp,并且使用属性进行日志记录会产生性能开销。如何在不污染方法的情况下记录日志?
但是现在我必须把日志代码放在每个方法中,大量的复制粘贴也不是方法的一部分。所以,我的职能做了不止一项工作。将业务逻辑和日志集合在一起看起来有点不太合适。
反正有,就像做类开放式的,可以从类或函数的外面添加日志。或者我只需要采用传统的伐木方式。
请让我知道是否有任何进一步的信息需要。任何有关好的/另一种采伐方式的建议也是受欢迎的。
我知道AOP和Postsharp,但这里的约束是我无法使用postsharp,并且使用属性进行日志记录会产生性能开销。如何在不污染方法的情况下记录日志?
但是现在我必须把日志代码放在每个方法中,大量的复制粘贴也不是方法的一部分。所以,我的职能做了不止一项工作。将业务逻辑和日志集合在一起看起来有点不太合适。
反正有,就像做类开放式的,可以从类或函数的外面添加日志。或者我只需要采用传统的伐木方式。
请让我知道是否有任何进一步的信息需要。任何有关好的/另一种采伐方式的建议也是受欢迎的。
Enterprise Library and Unity。你可以使用合成来创建日志装饰器,这些日志装饰器围绕着其他类来记录,然后传递给其他类。
嗨,彼得里奇告诉,http://msdn.microsoft.com/en-us/magazine/gg490353.aspx是很好的解决方案。您可以看看http://www.microsoft.com/en-us/download/details.aspx?id=17866或其他DI框架,比如Ninject,这对于MVC项目来说是很好的选择。 任何方式,这是关于DI性能http://www.palmmedia.de/Blog/2011/8/30/ioc-container-benchmark-performance-comparison好关键。
您可以为您创造类的装饰,看看http://en.wikipedia.org/wiki/Decorator_pattern
企业库和统一。你可以使用组合来创建日志装饰器,这些日志装饰器围绕着其他类来记录,然后传递给其他类。 – 2013-03-24 05:29:31
退房http://msdn.microsoft.com/en-us/magazine/gg490353.aspx – 2013-03-24 05:32:17
我认为这将解决问题。我会试一试。你能否给我答案,如果问题解决了,我可以通过选择正确答案来结束答案。 – kunjee 2013-03-24 05:39:15