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

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

Логирование работы 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.gradely

WARN

Логирование GDL

org.apache.kafka.common.utils.Log

ERROR

Отключение спама Kafka

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

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

Задаются при необходимости.

Категория

Уровень

Описание

ru.gradely.business

DEBUG

Логирование работы воркера

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

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

Категория

Уровень

Описание

ru.gradely

DEBUG

Расширенное логирование GraDeLy. Включается на стороне GraDeLy

pprbod_shaded.org.apache.kafka

DEBUG

Расширенное логирование 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":[]}