xmlconfigurator.configure не выбрасывает исключения - PullRequest
0 голосов
/ 22 октября 2009

Я пытаюсь настроить log4net для приложения.

System.IO.FileInfo fi = new System.IO.FileInfo("some junk file name");
log4net.Config.XmlConfigurator.Configure(fi);
log4net.Config.XmlConfigurator.ConfigureAndWatch(fi);

Я удивился, когда вышеприведенный код не выдает никаких исключений !!!!

если файл не существует, почему log4net не выдает никаких исключений? Разве это не плохой дизайн? Есть ли какая-либо причина для разработки такого поведения?

Если оно не выдает никаких исключений, как я могу узнать, что файл проанализирован успешно и работает нормально?

1 Ответ

2 голосов
/ 22 октября 2009

Я считаю, что это умышленно: посмотрите раздел «Является ли Log4Net надежной системой ведения журналов» в FAQ по Log4Net .

Идея состоит в том, что подсистема ведения журнала не должна генерировать исключения, вызывающие сбой вашего приложения просто из-за ошибки или ошибки конфигурации в подсистеме ведения журнала.

Что касается проверки вашего файла конфигурации, вы можете проверить, что файл конфигурации дает ожидаемый результат в среде разработки, прежде чем развертывать его в рабочей среде. Не изменяйте файлы производственной конфигурации, кроме как с помощью проверенных инструментов (без ручного редактирования).

Также я понимаю, что вы можете добавить атрибут "debug = true" к элементу log4net, чтобы включить внутреннюю отладку log4net. Хотя, по-видимому, вам потребуется хотя бы один аппендиент для правильной настройки, чтобы увидеть результаты внутренней отладки. Я никогда этого не пробовал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...