Системный журнал
Доступ к системному журналу
Логирование работы 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":[]}