Как включить/выключить ведение журнала с помощью 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". Например: