Работа с текущим логом системы

Описание действия

Администратор системы может просматривать текущий лог системы. При просмотре лога предоставляется возможность фильтрации сообщений по уровню логирования. Текущий лог можно сохранить в файл.txt.

Место выполнения действия

Раздел "Настройка системы" → "Консоль", страница "Консоль", блок "Лог".

Выполнение действия

Установка режима обновления лога

Предусмотрено два режима обновления лога:

  • Автоматический — лог обновляется по мере появления событий.

    Чтобы активировать автоматический режим обновления лога, установите флажок Обновлять автоматически.

  • Ручной — лог обновляется вручную.

    Чтобы обновить лог, нажмите кнопку Обновить.

Выбор уровня логирования

Уровень логирования для отображения лога выбирается в списке "Уровень". После выбора уровня логирования в логе отобразятся записи, соответствующие указанному уровню логирования.

Уровни логирования:

  • ERROR — в логе отображаются только сообщения об ошибках;
  • WARN — в логе отображаются только сообщения с предупреждением о потенциально опасных ситуациях и сообщения об ошибках (ERROR);
  • INFO — в логе отображаются сообщения, информирующие о действиях системы, и сообщения уровня WARN;
  • DEBUG — в логе отображаются важные отладочные сообщения и сообщения уровня INFO;
  • TRACE — в логе отображаются подробные отладочные сообщения и сообщения уровня DEBUG;
  • ALL — в логе отображаются все сообщения.

Фильтрация лога

В поле "Фильтр" можно указать дополнительные условия фильтрации. После указания условия в логе отобразятся записи лога, соответствующие указанному условию в рамках заданного уровня логирования.

Просмотр информации об отдельном сообщении лога

Все записи лога в начале имеют дату/время, когда событие произошло и записалось в лог приложения.

Формат записей лога "(dd MMM yyyy HH:mm:ss,SSS Z", где

  • dd — число когда произошло событие;
  • MMM — месяц когда произошло событие;
  • yyyy — год когда произошло событие;
  • HH — часы когда произошло событие;
  • mm — минуты когда произошло событие;
  • ss — секунды когда произошло событие;
  • SSS — миллисекунды когда произошло событие;
  • Z — часовой пояс, в котором записано время события.

Просмотр дополнительной информации об отдельном сообщении лога

Сообщения лога с возможностью просмотра дополнительной информации об ошибке (стектрейсе ошибки в логе) выделяются синим цветом шрифта. По умолчанию дополнительная информация скрыта. При наведении курсора на данное сообщение, курсор изменяет свой вид и появляется подсказка "показать стек".

Для отображения дополнительной информации об ошибке нажмите на сообщение, выделенное синим шрифтом. Чтобы скрыть стек, повторно нажмите на сообщение с подсказкой "скрыть стек".

Переход по ссылке на карточку скрипта в сообщении лога

В лог выводится ссылка на карточку скрипта. Чтобы перейти на карточку скрипта, нажмите ссылку с номером скрипта. На карточке скрипта отображается информация о месте использования скрипта (категория скрипта, название класса, в котором используется скрипт и название конкретной настройки системы, в которой добавлен скрипт), см. Карточка скрипта.

Очистка лога

При нажатии кнопки "Очистить" скрываются все записи, сгенерированные в текущем сеансе работы с логом до выполнения очистки.

Сохранение лога в файл.txt

При нажатии кнопки Сохранить выполняется сохранение записей лога, выведенных на экране с учетом настроенных условий фильтрации, в файл формата .txt.

Если в логе развернута дополнительная информация об ошибке, то она присутствует в сохраненном логе. Если стектрейс скрыт, то в текстовом файле он не сохраняется.

Связанные настройки

  • Настройка уровней логирования

    В лог сохраняются сообщения согласно указанному уровню логирования.

    Уровень логирования определяется в конфигурационном файле log4j2.properties.

  • Настройка объема логирования аргументов действия

    Управление объемом логирования позволяет снижать объем логов при эксплуатации системы или увеличивать точность логов при возникновении сложных ситуаций, требующих разбирательства и отладки.

    Максимальное количество символов в аргументах действия (Action) для всех уровней логирования задается в конфигурационном файле dbaccess.properties (Логирование). Если количество символов в аргументах действия превышает заданное в параметре, то строка обрезается и в конце указываются три точки. Значение по умолчанию: 1000 (символов).

    Пример сообщения в логе:

    (30 окт. 2020 17:44:48,562 +0500) [GetFilteredTreeValueAction(serviceCall$ACHsc@groupClient) naumen #448] INFO dispatch.Dispatch - SQL(0) Queries(0) Done(9) DS(RegularPool):GetFilteredTreeValueAction [getAttributeFqn()=serviceCall$ACHsc@groupClient, getCurrentValue()=[], getUserEventParams()=null, getActionDebugTokens()=[serviceCall$ACHsc@groupClient], getProperties()={closedByEmployee=null, folders=[], checkSum#rtf=b497e2bd514a5a15e0a739e88c111d0fe137aea12b5fc09b65fdb1c55141a026, deadLineTime=Mon Nov 02 16:34:49 YEKT 2020, testgvslm={removed=false, UUID=slmService$7301, title=Service ACH, metaClass=slmService$ACHslm}, solvedByTeam=null, timeAllowanceTimer=BackTimerDto [getStatus()=ACTIVE, deadLineTime=Mon Nov 02 16:34:49 YEKT 2020, allowance=255006265, elapsedFromOverdue=0], number=35, hintType2=null, wfProfile=null, fileee=[], composite=код-35, AdvList#massOperationMentionContextFqn=serviceCall$ACHsc, registrationDate=Fri Oct 30 16:34:49 YEKT 2020, closedByTeam=null, state=registered, UUID=serviceCall$211601, determTC=null, agreement={removed=false, UUID=agreement$7101, title=Agreement ACH, metaClass=agreement$ACHagreem}, clientEmail=null, author={UUID=null, title=Суперпользова...]

  • Настройка логирования счетчиков времени

    Для диагностики корректности пересчета счетчика времени можно включить режима логирования счетчиков.

    Логирование счетчиков времени доступно в режиме DEBUG.

    Для включения режима логирования счетчиков времени можно выполнить в консоли скрипт изменения режима логирования счетчиков (Скрипты, выполняемые в консоли).

    Copy
    import java.util.Properties;
    import org.apache.log4j.PropertyConfigurator;
    Properties props = new Properties();
    props.setProperty("log4j.category.ru.naumen.core.server.timer.bcp.AbstractTimerCalculationOperation", "DEBUG");
    props.setProperty("log4j.category.ru.naumen.core.server.timer.bcp.BackTimerCalculationOperation", "DEBUG");
    props.setProperty("log4j.category.ru.naumen.core.server.timer.bcp.BackTimerStatusChangeActionPassivateSetZeroDeadlineIfExceedImpl", "DEBUG");
    props.setProperty("log4j.category.ru.naumen.core.server.timer.bcp.TimerStatusChangeActionActivatePassivateIfNeedRecalcImpl", "DEBUG");
    props.setProperty("log4j.category.ru.naumen.core.server.timer.bcp.TimerStatusChangeActionPassivateActivateIfNeedRecalcImpl", "DEBUG");
    props.setProperty("log4j.category.ru.naumen.core.server.timer.bcp.TimerStatusChangeOperationsBackTimerImpl", "DEBUG");
    props.setProperty("log4j.category.ru.naumen.core.server.timer.bcp.TimerStatusChangeOperationsImpl", "DEBUG");
    props.setProperty("log4j.category.ru.naumen.core.server.timer.bcp.TimerStatusChangeOperationsTimerImpl", "DEBUG");
    PropertyConfigurator.configure(props);

    Также режим логирования счетчиков времени можно включить в файле log4j.properties (Настройки логирования счетчиков времени).

    Сообщения в логе, связанные со счетчиком времени, имеют префикс: "TimerLog[uuid:code]".

    Формат сообщения:

    TimerLog[%идентификатор объекта%:%код атрибута%] %значение%

    Для отключения логирования достаточно перейти на уровень логирования выше DEBUG.