Внутренние бревна для замка Виндзор - PullRequest
5 голосов
/ 02 марта 2012

Как я могу записать внутренние логи Castle Windsor? Например, если я неправильно настроил Castle таким образом, что не могу загрузить строку подключения, я хочу знать, могу ли я регистрировать ошибки из Castle, когда он пытается разрешить строку подключения. Я использую Log4Net Facility и могу видеть только журналы приложений, но не журналы Windsor.

1 Ответ

4 голосов
/ 03 марта 2012

Ваш вызов WindsorContainer.Resolve <> вызовет исключение в случае сбоя разрешения. Вы должны зарегистрировать это исключение в своем «загрузочном» коде, который отвечает за создание контейнера и разрешение необходимых компонентов. Сообщение об исключении обычно говорит вам, что именно не так в мучительных деталях.

Насколько мне известно, Windsor не ведет "внутреннюю" регистрацию через log4net (возможно, один из участников может исправить / подтвердить это). Если вы хотите регистрировать «внутренние» события, вы можете подключиться к обработчикам событий в ядре (доступны через WindsorContainer.Kernel). Например, есть события ComponentRegistered и DependencyResolving, которые позволяют вам выполнять пользовательские действия в отношении регистрации и разрешения соответственно.

...