Использование log4net в приложении Windows .net - PullRequest
2 голосов
/ 19 апреля 2011

Мы используем log4Net для записи сообщений в файлы и базу данных из нашего приложения Windows 3.5.

Приложение winforms развернуто в производственной среде и запущено.Перед развертыванием значение атрибута узла уровня устанавливается на «ВСЕ».

<level value="ALL"/>

Во время работы приложения мне нужно изменить уровень на «ОШИБКА» и сохранить xml.And затем,log4net должен регистрировать в журнале только сообщения типа «ошибка».Как мне добиться этого с помощью log4net?Если не осуществимо, любой другой подход, пожалуйста?

Спасибо.

Ответы [ 3 ]

3 голосов
/ 19 апреля 2011

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

Если вы хотите динамически обновлять уровень ведения журнала в приложении, есть простой способ сделать это благодаря возможностям LINQ to XML из .Net 3.5+. Я написал сообщение в блоге, описывающее, как это сделать здесь .

2 голосов
/ 19 апреля 2011

Использование

[сборка: log4net.Config.XmlConfigurator (Watch = истина)]

может работать, согласно документации

0 голосов
/ 19 апреля 2011

В приложении вам понадобится средство просмотра файлов в файле конфигурации, а затем повторно запустите инициализацию log4net при изменении файла конфигурации.

...