2009-12-12 4 views
3

Проблема в том, что NHibernates зависит от log4net. Я пытаюсь создать приложение IoC с Interchangable Loggers, и эта вещь мешает.NHibernate без log4net?

Есть ли там конструкция без этой зависимости, или мне нужно сделать взломанный код с открытым кодом?

+0

могли бы вы объяснить, почему в дальнейшем/как это беспокоит? –

+1

Я хочу использовать IoC pratices, а также я бы предпочел иметь другой регистратор, чем log4net, то есть NLog – Dann

ответ

5

Существует уже an open bug on NHibernate bug tracker относительно этой проблемы, и один или несколько патчей уже существуют, поэтому вы можете использовать их. Проблема в том, что они еще не интегрированы в магистраль, поэтому YMMV ...

+0

спасибо за это. Я только что загрузил источник, вырвал Log4Net и подключил все вызовы к LogManager адаптера, в котором я могу использовать IoC. Придется удалить много тестов NHibernate: (но это жизнь, когда ваш код взлома – Dann

+1

yeap, но это тоже хорошо: вы * умеете взломать код;) –

1

Да, в настоящее время это сложная зависимость. Я думаю, вы можете получить то, что хотите, создав приложение для log4net, а затем введете свой настоящий регистратор в этот appender. Таким образом, у вас будет журнал log4net на ваш журнал api, который будет использовать реальный регистратор, который вы вводите.

Вы также можете посмотреть на это полу связанных вопрос: Using Enterprise Library Logging Application Block in NHibernate

+0

А я вижу, как это работает. Если мне нужно будет использовать этот метод, но теперь у меня есть взлома, поэтому он будет использовать это, пока он не удастся. – Dann

Смежные вопросы