2009-12-12 34 views
3

问题是NHibernates在log4net上的依赖。我正在尝试用可互换的记录器来构建一个IoC应用程序,并且这件事情会受到阻碍。没有log4net的NHibernate?

在没有这种依赖的情况下,有没有构建出来,还是我必须做一些开源代码来攻击自己?

+0

你能进一步解释一下为什么/它如何影响你吗? – 2009-12-12 16:54:15

+1

我想使用IoC实践,我宁愿有一个不同于log4net的日志记录器,也就是NLog – Dann 2009-12-12 17:52:22

回答

5

已经有关于此问题的an open bug on NHibernate bug tracker,并且已经存在一个或多个补丁程序,因此您可以使用该补丁程序。问题是,它们没有集成在主干上,所以YMMV ...

+0

谢谢你。我刚刚下载了源代码,删除了Log4Net,并将所有调用挂接到可以使用IoC的适配器LogManager。 不得不删除NHibernate测试:(但那就是你的生活,当你的黑客代码 – Dann 2009-12-12 17:56:50

+1

yeap,但这也是好事:你* *能够破解代码;) – 2009-12-12 18:47:48

1

是的,它目前是一个硬依赖。我想你可以通过为log4net创建一个appender,然后将真正的logger注入该appender来获得你想要的。所以基本上你会有log4net日志到你的日志API,这将使用你注入的真正的日志记录器。

你可能也想看看这个半相关的问题: Using Enterprise Library Logging Application Block in NHibernate

+0

啊,我看到如何工作。如果我需要,我会使用这种方法,但我现在已经有了黑客的工作,所以会使用它,直到它出错。 – Dann 2009-12-12 18:07:48