Это похоже на 650694, но ответа там не было принято, я не могу заставить кого-либо из этих предложений работать вообще, и я подозреваю, что могу быть в несколько иной ситуации.
Я вызываю log4net.Config.XmlConfigurator.Configure(). Но после этой точки в программе я хочу изменить порог регистрации на значение, известное только во время выполнения.
Из другого вопроса я попытался:
((log4net.Repository.Hierarchy.Logger)mylogger.Logger).Level = log4net.Core.Level.Error;
и
var appender = new log4net.Appender.ColoredConsoleAppender();
appender.Layout = new log4net.Layout.PatternLayout(@"%date %-5level %message%newline");
appender.Threshold = log4net.Core.Level.Error;
appender.ActivateOptions();
log4net.Config.BasicConfigurator.Configure(appender);
но ни один из них не имеет никакого эффекта: я все еще вижу инструкции консолидации DEBUG и INFO на консоли.
Моя догадка заключается в том, что я добавляю новый appender, который не влияет на appender, объявленный в конфигурации XML (который говорит ему печатать сообщения уровня DEBUG), но пока у меня нет никаких доказательств.
Я уже давно перебираю API-интерфейс log4net, и я просто не вижу его. Есть что-то простое, что мне не хватает?