Каждый процесс в нашей системе использует log4net. Многие из этих процессов запущены как сервисы. Некоторые из этих запущенных приложений содержат многословные отладочные записи, и нам бы хотелось иметь возможность ограничить их вывод. Все регистраторы используют один и тот же файл .config для установки текущего уровня ведения журнала. Я работаю над приложением, которое получит доступ ко всем регистраторам, которые устанавливают источник, используя
log4net.GlobalContext.Properties["source"] = source;
Что я хотел бы сделать, так это получить список всех регистраторов, зарегистрированных в настоящее время, получить имя их источника, а затем изменить файл .config для каждого из этих источников, чтобы индивидуально настроить уровень вывода для каждого из них.
Проблема, с которой я сталкиваюсь, заключается в том, чтобы найти список всех этих регистраторов, поэтому я могу добавить запись в файл .config. Есть ли способ получить этот список регистраторов для всех процессов из одного приложения?
Я пытался использовать GetRepository().GetCurrentLoggers()
, но это возвращает регистратор только для текущего вызывающего приложения.