Подтвердить что ты не робот

Как правильно настроить Ninject.Extensions.Logging.Log4Net в моем проекте MVC3

Я пытаюсь правильно использовать Ninject для ввода журнала log4net в мое приложение MVC3. Я использую пакет Ninject.MVC3, поэтому у меня есть класс NinjectMVC3, который автоматически расширяет метод App_Start и содержит метод RegisterServices, который связывает все зависимости. У меня также есть пакет Ninject.Extensions.Logging.Log4Net, но я не знаю, как его использовать. Я уже знаю, как настроить log4net в моем web.config, но не знаю, как использовать это расширение для DI.

Я прочитал все следующие статьи/сообщения, но ни один из них, похоже, не определяет, как правильно настроить проект для записи журнала DI.

В http://dotnetdarren.wordpress.com/2010/07/29/logging-in-mvc-part-4-log4net/, Darren дает отличную статью, но, похоже, не имеет отношения к DI (по крайней мере, я этого не вижу).

В Используя Ninject для заполнения зависимости Log4Net, Remo Gloor заявляет здесь, что расширения должны предоставлять все, что необходимо для реализации, но не показывают код того, как его создать.

Документация для ninject.extensions.logging на https://github.com/ninject/ninject.extensions.logging/wiki/Using в лучшем случае очень ограничена. Я перечитывал его много раз и до сих пор не вижу, как использовать bind-инъекцию в классе NinjectMVC3 или конкретные примеры вызова журнала из моего класса контроллера, например.

В самой многообещающей статье Moosaka предлагает отличный код в Ninject.Extensions.Logging.Log4net неожиданном поведении, но когда я его пытаюсь, я получаю ошибку компиляции в LoggerFactory в ILogger logger = new Logger(type); с указанием "Невозможно получить доступ к защищенному конструктору" Logger "здесь". Кроме того, он заявляет, что "весь этот беспорядок в отдельную библиотеку классов". Означает ли это как отдельный проект?

Я просто теряюсь во всех разных вариантах и ​​датированных сообщениях и хотел бы получить какой-либо вклад в том, как использовать Injection Dependancy с Ninject и Log4Net в моем проекте MVC3. Кроме того, если это имеет значение, весь мой код Ninject находится в моем доменном проекте, но ведение журнала необходимо выполнить как из домена, так и из веб-проекта (и издевается над моими модульными тестами). Любая помощь приветствуется.

4b9b3361

Ответ 1

Вам не нужно настраивать ничего, кроме обычной конфигурации log4net.

Все, что вам нужно сделать, - это ввести ILogger везде, где вы хотите регистрироваться. https://github.com/ninject/ninject.extensions.logging/wiki/Using