Перейти к основному содержимому

Системный журнал

Доступ к системному журналу​

Логирование работы GraDeLy осуществляется компонентом Журналирование (LOGA) продукта Platform V Monitor (OPM) (далее по тексту – Журналирование). Модули GraDeLy записывают действия в стандартный системный файл sysout с использованием стандартных Java-методов журналирования. Для записи используется библиотека log4j.

Для подключения Журналирования добавьте maven зависимость в pom.xml, который находится внутри сервисной части приложения:

<dependency>
<groupId>sbp.logger</groupId>
<artifactId>logger-api</artifactId>
</dependency>

Основные события​

Основные типы (уровни) событий системного журнала:

  • Error — ошибки, возникающие в процессе работы сервиса. По умолчанию выводятся в Журналирование;
  • Warn — предупреждения, возникающие в процессе работы сервиса. По умолчанию выводятся в Журналирование;
  • Info — информационные сообщения, возникающие в процессе работы сервиса. По умолчанию выводятся в Журналирование;
  • Debug — отладочные сообщения (детали взаимодействия с внешними системами), возникающие в процессе работы сервиса. Не выводятся по умолчанию в Журналирование;
  • Trace — трассировочные сообщения (ход выполнения сложных участков сервиса — информация для анализа ошибок), возникающие в процессе работы сервиса. Не выводятся по умолчанию в Журналирование.
Внимание!

Для уменьшения нагрузки на инфраструктуру уровень Trace включать не рекомендуется.

Настройка системного журнала​

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

Журналы можно направлять:

  • в Журналирование;
  • на серверы в консольные журналы.

Типовые рекомендуемые параметры логирования​

Лог-файлы приложения, отправляемые в Журналирование, зависят от текущей конфигурации.

Для корректной работы Журналирования необходимо настроить параметры при помощи log4j по таблице ниже.

КатегорияУровеньОписание
ru.gradelyWARNЛогирование GDL
org.apache.kafka.common.utils.LogERRORОтключение спама Kafka

Расширенные параметры логирования​

Внимание!

Для уменьшения нагрузки на инфраструктуру уровень Debug включать не рекомендуется.

Параметры в таблице задаются при необходимости:

КатегорияУровеньОписание
ru.gradely.businessDEBUGЛогирование работы воркера

Отладочное логирование​

Применяется при необходимости локализации проблемы. Включение отладочной категории приводит к большому количеству логов — поэтому нужно выполнять осознанно и отключать после локализации проблемы.

Параметры в таблице задаются при необходимости:

КатегорияУровеньОписание
ru.gradelyDEBUGРасширенное логирование GraDeLy. Включается на стороне GraDeLy
pprbod_shaded.org.apache.kafkaDEBUGРасширенное логирование Kafka. Включается на стороне GraDeLy

Примеры событий Error системного журнала:

  • 203 - GRAPH_ERROR, «Репликация не может быть запущена, так как есть запущенные компоненты»;
  • 204 - GRAPH_NAME_ERROR, «Граф с таким именем уже существует»;
  • 501 - CONFIG_ERROR, «Ошибка внутри конфигурации сервиса»;
  • 302 - CONNECTION_ERROR_OPTIONS, «Ошибка парсинга options»;
  • 414 - WORKER_ERROR_STATUS, «Ошибка при получении статуса»;
  • 800 - EMPTY_LINKS, «Пустой список графа репликации»;
  • 801 - LINK_EXIST, «Уже существует такое ребро графа».

Примеры логирования:

  • ERROR:

    ERROR r.g.s.AccessAuthenticationProvider - Unable to authorize request for /me from xx.xxx.xx.xx access_system.client.API.exceptions.TicketExpiredException: Unauthorized
  • WARN:

    WARN r.s.u.p.s.v.a.s.r.ResponseExceptionHandler - Bad response: 401 UNAUTHORIZED
  • DEBUG:

    DEBUG 62360 —- [pool-1-thread-1] ru.gradely.business.KafkaIntegration : TxId 405168112, origin 1
  • INFO:

    INFO 62360 —- [pool-1-thread-1] r.g.business.ReplicationStreamComponent : Vector is empty {"xid":38543,"origin":0,"change":[]}