問題是NHibernates在log4net上的依賴。我正在嘗試用可互換的記錄器來構建一個IoC應用程序,並且這件事情會受到阻礙。沒有log4net的NHibernate?
在沒有這種依賴的情況下,有沒有構建出來,還是我必須做一些開源代碼來攻擊自己?
問題是NHibernates在log4net上的依賴。我正在嘗試用可互換的記錄器來構建一個IoC應用程序,並且這件事情會受到阻礙。沒有log4net的NHibernate?
在沒有這種依賴的情況下,有沒有構建出來,還是我必須做一些開源代碼來攻擊自己?
已經有關於此問題的an open bug on NHibernate bug tracker,並且已經存在一個或多個補丁程序,因此您可以使用該補丁程序。問題是,它們沒有集成在主幹上,所以YMMV ...
謝謝你。我剛剛下載了源代碼,刪除了Log4Net,並將所有調用掛接到可以使用IoC的適配器LogManager。 不得不刪除NHibernate測試:(但那就是你的生活,當你的黑客代碼 – Dann 2009-12-12 17:56:50
yeap,但這也是好事:你* *能夠破解代碼;) – 2009-12-12 18:47:48
是的,它目前是一個硬依賴。我想你可以通過爲log4net創建一個appender,然後將真正的logger注入該appender來獲得你想要的。所以基本上你會有log4net日誌到你的日誌API,這將使用你注入的真正的日誌記錄器。
你可能也想看看這個半相關的問題: Using Enterprise Library Logging Application Block in NHibernate
啊,我看到如何工作。如果我需要,我會使用這種方法,但我現在已經有了黑客的工作,所以會使用它,直到它出錯。 – Dann 2009-12-12 18:07:48
你能進一步解釋一下爲什麼/它如何影響你嗎? – 2009-12-12 16:54:15
我想使用IoC實踐,我寧願有一個不同於log4net的日誌記錄器,也就是NLog – Dann 2009-12-12 17:52:22