是否包装log4net以减少反模式的耦合?或者将logger实例注入公共属性和反模式?你如何处理log4net依赖?
答案 0 :(得分:1)
出于以下原因包装记录器 -
所以,我的观点很好。
答案 1 :(得分:0)
在.NET社区的前沿,service locator是considered和anti-pattern。我会说日志记录通常是我们应用程序的一个非常好的功能。它基本上是“只写”。我们永远不会根据日志记录系统的查询做出决定。
log4net也是一个易于关闭的系统,不会抛出异常,无声地失败,可以动态更新其配置......几乎没有理由在实现后更换实现。
所以,我说,在应用程序代码中,可以直接使用它。
答案 2 :(得分:0)
我们定义一个日志记录接口,并具有log4net实现,unitTest实现和null实现。
我们使用依赖注入来传递loggingInterface实现。
单元测试实现还有其他方法,比如'bool ErrorWasLogged()',因此在我们的单元测试中,我们可以断言记录了重要信息。对于我们对测试记录内容不感兴趣的测试,我们使用null实现。