有人可以帮我用Log4net设置Ninject 2吗?

时间:2011-03-28 09:11:24

标签: ninject ninject-2 ninject-extensions

我已经(很高兴)在一些基本场景中使用Ninject了一段时间,并希望控制我的日志记录。我注意到Ninject.Extensions.Logging命名空间的存在,并且想要使用它,但我遇到了两个问题:

  1. 我希望使用运行它的类的类型初始化记录器(就好像我使用GetCurrentMethod()运行LogManager.GetLogger。声明类型)。
  2. 我希望能够轻松地模拟或“取消”记录器以进行单元测试(即我不想让记录器工作),而不会遇到 NullReferenceExceptions 因为没有初始化记录器。
  3. 现在,我知道这里有一些问题(甚至答案),但我似乎找不到任何指向正确方向的问题。

    我会感激任何帮助(即使是“你笨拙地”它就在这里!链接到我应该注意到的东西)。

1 个答案:

答案 0 :(得分:2)

  1. 这是扩展程序的默认行为
  2. 不要在单元测试中使用Ninject创建测试对象。手动创建实例并传递记录器所需的内容。
  3. 最好看看单元测试。 https://github.com/ninject/ninject.extensions.logging/blob/master/src/Ninject.Extensions.Logging.Tests/Infrastructure/CommonTests.cs