Как включить/выключить ведение журнала с помощью Log4net
Я зарегистрировал всю транзакцию своих приложений с помощью Log4net. Есть ли способ отключить и включить ведение журнала из общего места без изменения кода, записанного для ведения журнала.
Ответы
Ответ 1
Я предполагаю, что вы хотите переключать ведение журнала в своем запущенном приложении с помощью кода. Я не пробовал, но я думаю, что вызов следующего метода должен отключить ведение журнала:
LogManager.GetRepository().ResetConfiguration();
Чтобы снова включить ведение журнала, вы вызываете
XmlConfigurator.Configure();
(или один из других методов XmlConfigurator
).
Однако существует issue с повторным вызовом метода Configure
. Я не знаю, будет ли это проблемой для вас, но, по крайней мере, я предупредил вас...
Ответ 2
Вы можете отключить их, изменив файл конфигурации log4net. В частности, измените уровень приложения или глобального уровня на значение "ВЫКЛ". Подробнее см. здесь.
Ответ 3
Предполагая, что я понимаю ваш вопрос, из FAQ: http://logging.apache.org/log4net/release/faq.html
Как полностью отключить все протоколирование во время выполнения?
Установка порогового значения иерархии на уровень ВЫКЛ отключит все записи из этой иерархии. Это можно сделать в файле конфигурации log4net, установив атрибут "threshold" в элементе конфигурации log4net равным "OFF". Например: