Существует ли способ определить максимальный номер сообщений об ошибках, которые может содержать log4net память appender?

Я хотел бы добавить память appender к корневому регистратору так, чтобы я мог соединиться с приложением и получить последние 10 событий. Я только когда-либо хочу сохранить последние 10. Я волнуюсь по поводу этого appender, использующего слишком много памяти. Приложение разработано для выполнения 24/7. Или есть ли иначе?

6
задан uriDium 10 March 2010 в 10:06
поделиться

2 ответа

Полагаю, вам может понадобиться создать пользовательский класс Appender, производный от MemoryAppender и переопределяющий хранение вывода путем подсчета количества сообщений, отображаемых в данный момент. Вы можете хранить сообщения в списке и в методе Append определять, есть ли в списке уже максимальное количество сообщений. Если да, то вы удаляете самое старое сообщение и добавляете в список новое.

3
ответ дан 10 December 2019 в 00:36
поделиться

Вам нужно создать пользовательский аппендер для хранения ограниченного количества журналов. Например, MemoryAppender можно подклассифицировать следующим образом:

public class LimitedMemoryAppender : MemoryAppender
{
    override protected void Append(LoggingEvent loggingEvent) 
    {
        base.Append(loggingEvent);
        if (m_eventsList.Count > 10)
        {
            m_eventsList.RemoveAt(0);
        }
    } 
}
7
ответ дан 10 December 2019 в 00:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: