У меня есть класс, для каждого экземпляра которого я создаю новый логгер и присоединяю к нему буферный аппендир и флай-аппендер. Все выполняется во время выполнения, и информация из файла конфигурации не выбирается.
Теперь, чтобы освободить ресурсы с помощью пользовательского метода dispose класса, мне нужно отключить этот конкретный регистратори освободите все подключенные к нему ресурсы, чтобы избежать утечки памяти.
В данный момент я выполняю по крайней мере очистку файла appender и записываю всю информацию журнала, но ни одна из них не снимает блокировку этой конкретной регистрации.файл также не освобождает ни одного из своих ресурсов.
Как правильно отключить регистратор, не отключая другие активные регистраторы, которые находятся в процессе
log4net.ILog log = log4net.LogManager.GetLogger(loggerName);
foreach (IAppender iapp in log.Logger.Repository.GetAppenders())
{
BufferingAppenderSkeleton buffered = iapp as BufferingAppenderSkeleton;
if (buffered is BufferingForwardingAppender)
{
((BufferingForwardingAppender)buffered).Flush();
}
}
log.Logger.Repository.Shutdown();
Я надеюсь, что у меня естьсделал мой вопрос достаточно ясным:)