2010-11-26 2 views
4

Я хотел бы использовать Common.Logging для удаления зависимостей от определенной структуры ведения журнала, но я не уверен, как подключить интерфейс ILog с помощью замка Windsor IoC контейнер. Есть ли способ сделать это? Благодаря!Использование Common.Logging с Asp.net MVC и Castle Windsor

+0

container.Register ( Component.For () .Instance (Common.Logging.LogManager.GetLogger ("FileAppender"))); – 2012-07-04 08:53:18

ответ

4

Создайте свой собственный объект для Common.Logging, checkout, как это делается для существующих Logging Facility in Windsor. Common.Logging, вероятно, имеет фабрику журналов, которую вы бы использовали для создания регистратора.

Или вы можете сэкономить себе работу и просто использовать Castle's ILogger с помощью средства ведения журнала: Windsor будет вводить экземпляры ILogger в ваши классы для вас. Работает с log4net и NLog v2.

7

Вы действительно хотите сделать то и другое? (Использовать Common.Logging И вводить его через Castle Windsor IoC?) Используя Common.Logging, ваше приложение НЕ имеет жесткой зависимости от конкретной структуры ведения журнала (например, log4net, NLog, Enterprise Logging). Я не использую замок, но я понимаю, что его заведение имеет аналогичную цель. Вы можете настроить Castle Windsor для использования определенной структуры ведения журнала (например, log4net или NLog), но ваше приложение не обязательно должно знать, какие рамки ведения журнала в конечном счете используются.

Injecting Common.Logging через замок Windsor, похоже, носить пояс и подтяжки, чтобы держать штаны! Вы бы вводили абстракцию каротажа через собственную способность абстрагирования каротажа Виндзора!

Я предполагаю, что вы действительно хотите использовать одну технологию или другую (обычное или ловушечное хранилище Windsor).

Если вы действительно хотите, чтобы ввести Common.Logging через замок Виндзор, вы можете найти эту ссылку полезным:

Logging with Castle.Facilities.Logging and log4net

Среди других вещей, он описывает, как написать свой собственный замок Виндзор средство протоколирования для инъекций Castle Windsor.

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