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

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

По умолчанию все события журнала приложения сохраняются в директорию log, в файл console.out. Чтобы настроить другой путь к файлу с журналом приложения, зайдите в файл ./bin/include/setEnv.sh: CONSOLE_FILE="${LOG_DIR}/console.out" и измените значение переменной CONSOLE_FILE, после чего перезапустите Grid Center.

Важно

При запуске Grid Center без предварительного создания папки grid-center.user-security-path события системного журнала не будут записываться. Подробнее о создании папки читайте в разделе «Установка» документа «Руководство по установке».

Логирование по умолчанию#

По умолчанию Grid Center использует логирование событий с помощью библиотеки Log4j2. Путь к конфигурации Log4j2 указан в файле grid-center.properties. При необходимости этот путь можно изменить; для этого задайте новый путь в файла grid-center.properties.

Пример настройки:

### Logging configuration. 
logging.config=config/log4j2.xml

где:

  • logging.config — имя параметра, отвечающего за путь к Log4j2;

  • config/log4j2.xml — путь к конфигурации Log4j2.

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

Уровни логирования настраиваются в конфигурационном файле логера log4j2.xml в блоке <Loggers>.

Чтобы включить дополнительное логирование событий по экспорту таблиц в формате .csv, настройте уровень INFO для параметра user-action.

Фрагмент конфигурационного файла логера с уровнями логирования:

<Loggers>
    <Logger name="com.xxx.gridcenter.components.LoggingFilter" additivity="false" level="INFO">
        <AppenderRef ref="FILE"/>
    </Logger>

    <Root level="INFO">
        <AppenderRef ref="CONSOLE" level="INFO"/>
    </Root>
</Loggers>

где

  • com.xxx.gridcenter.components.LoggingFilter – класс, для которого будут генерироваться события;

  • INFO — уровень логирования событий;

  • <Logger name="user-action" level="INFO"/> — включение дополнительного логирования событий для экспорта таблиц.

Настройка пути для хранения системного журнала (log-файла)#

Путь к log-файлу указывается в конфигурационном файле логера в формате:

<Appenders>
    <Console name="CONSOLE" target="SYSTEM_OUT">
        <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
        <ThresholdFilter level="WARN" onMatch="DENY" onMismatch="ACCEPT"/>
    </Console>
    <RollingFile name="FILE" fileName="./log/grid-center.log"
                     filePattern="./log/grid-center-%i-%d{yyyy-MM-dd}.log.gz">
        <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
        <Policies>
            <TimeBasedTriggeringPolicy interval="12" modulate="true" />
            <SizeBasedTriggeringPolicy size="10 MB" />
        </Policies>
    </RollingFile>
</Appenders>

где fileName — путь к log-файлу.

Подробную информацию по логеру log4j2 — см. офицальную документацию log4j.

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

Доступ к системному журналу регламентируется настройками операционной системы.

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

В Grid Center поддерживается несколько уровней логирования, которые зависят от критичности события:

  • INFO — информация о работе приложения и текущем состоянии сервисов; низкий уровень критичности;

  • WARN — предупреждения о некорректной работе сервиса, средний уровень критичности;

  • ERROR — сообщения обо всех ситуациях или событиях в приложении, которые считаются ошибочными, высокий уровень критичности.

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

Уровень логирования

Событие

Описание

WARN

[date time] [Stream identifier] Method URL, processing time: time, response status: status, body: stacktrace

Предупреждение, которое выводится при ответе на любой запрос, кроме SQL-запросов. Примеры конкретных событий смотрите внизу таблицы.

Атрибуты предупреждения:
[date time] — дата и время, когда произошло событие, описанное в log-файле;
[Stream identifier] — идентификатор потока, в котором произошло событие;
Method — метод запроса, который был использован для вызова API;
URL - URL запроса, который был выполнен;
processing time: time — время, затраченное на обработку запроса в миллисекундах;
response status: status — статус ответа сервера на запрос;
body: stacktrace — тело ответа на запрос

ERROR

Application run failed

Запуск Grid Center завершился ошибкой

INFO

Tomcat started on port(s): 1234 (http) with context path

Веб-сервер приложения Grid Center успешно запустился на сетевом порту 1234.
Веб-сервер готов принимать запросы от пользователей.
По умолчанию сообщение выводится в log-файл log/console.out

Started GridCenter in 4.98 seconds (JVM running for 6.303)

Приложение Grid Center запущено за 4,98 секунды.
JVM запустилась за 6,303 секунды

Starting GridCenter v1.0.0 using Java 11.0.14 on MyVM with PID 12345

Запуск приложения Grid Center версии 1.0.0 на JVM версии 11.0.14