Log4net прекращает использование пользовательских средств визуализации - PullRequest
2 голосов
/ 12 августа 2011

У меня есть несколько пользовательских средств визуализации объектов, чтобы я мог сохранять свои записи в журнале как можно более сухими При первом развертывании моего приложения log4net не распознает пользовательские средства визуализации, но делает все остальное правильно. Если я прикасаюсь к файлу конфигурации (чтобы он выглядел измененным), средство отслеживания файлов принимает изменения, и средства визуализации начинают работать. Однако через некоторое время они перестают работать, и мне приходится снова касаться файла конфигурации log4net.

Установкой является приложение .Net 3.5 (sp1) wcf. Эта проблема возникает как на веб-сервере разработки vs 2008, так и на IIS 7 на win 2008. У меня есть файл конфигурации с именем log4net.config, и я использую метод AssemblyInfo для указания на него.

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]

То, как я получаю доступ к логгеру, - это использование статических членов класса следующим образом.

private static readonly ILog log = LogManager.GetLogger(typeof(Service));

Рендереры настроены аналогично этому.

<renderer renderingClass="MyCompany.Log4net.SearchRequestRenderer, MyCompany.Log4net" renderedClass="System.DirectoryServices.Protocols.SearchRequest" />

Все эти средства визуализации находятся в отдельной сборке от главной, где происходит регистрация. Я что-то упускаю или делаю что-то не так? Я не знаю, почему он не распознает рендеры сразу, а потом снова забывает их.

1 Ответ

1 голос
/ 17 августа 2011

Я нашел ответ.Мне пришлось включить больше информации о сборке для визуализированного класса.

<renderer renderingClass="MyCompany.Log4net.SearchRequestRenderer, MyCompany.Log4net" renderedClass="System.DirectoryServices.Protocols.SearchRequest" />

Стал

<renderer renderingClass="MyCompany.Log4net.SearchRequestRenderer, MyCompany.Log4net" renderedClass="System.DirectoryServices.Protocols.SearchRequest, System.DirectoryServices.Protocols, Version=2.0.0.0 , Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...