Перейти к содержанию

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

Основной уровень логирования

По умолчанию вывод логирования настроен только для вывода сообщений в консоль. Основной уровень логирования можно изменить, добавив переменную log.default в файл docker-compose.yml:

docker-compose.yml
    ...........................
    web:
      image: docker.iis-soft.ru/iisln/idm
      environment:
        - CATALINA_OPTS=
          -Dsso.url=http://localhost:8082/auth
          -Duser.language=ru
          -Dlog.default=WARN
      ports:
        - "8081:8080"
      depends_on:
        - db
        - uns
      restart: unless-stopped
  ...........................

Информация

Основной уровень логирования по умолчанию установлен в WARN

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

По умолчанию логирование в syslog отключено. Для того чтобы его включить, необходимо использовать следующие переменные в файле docker-compose.yml:

  • log.syslog - уровень логирования, по умолчанию OFF, логирование отключено. Основные значения:
    • ERROR - уровень ошибок
    • WARN - уровень предупреждений
    • INFO - уровень информационных сообщений
    • DEBUG - уровень отладочных сообщений

Внимание

Уровень логирования в syslog зависит от основного уровня логирования и не может быть подробнее значения указанного в основном уровне.

Например, если в основном уровне указано значение WARN, то даже если указать для вывода в syslog значение INFO, то вывод сообщений всё равно будет происходить по основному уровню логирования - будут отображаться только сообщения уровня WARN, сообщения уровня INFO отображаться не будут.

  • log.syslog.pattern - режим отображения сообщений логирования, по умолчанию DOPUSK: %-5level | %-40logger{40} | %msg %n, где:
    • DOPUSK - тэг сообщения
    • %-5level - отображение уровня логирования
    • %-40logger{40} - длина имени java класса, в котором произошло событие
    • %msg - само сообщение события
    • %n - перенос строки
  • log.syslog.host - адрес хоста syslog, по умолчанию 127.0.0.1
  • log.syslog.port - порт хоста syslog, по умолчанию 514
  • log.syslog.facility - источник сообщений отображаемый в syslog, по умолчанию LOCAL0. Возможные значения:
    • KERN, USER, MAIL, DAEMON, AUTH, SYSLOG, LPR, NEWS, UUCP, CRON, AUTHPRIV, FTP, NTP, AUDIT , ALERT, CLOCK, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7

Информация

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

Пример включения логирование в syslog в файле docker-compose.yml:

docker-compose.yml
    ...........................
    web:
      image: docker.iis-soft.ru/iisln/idm
      environment:
        - CATALINA_OPTS=
          -Dsso.url=http://localhost:8082/auth
          -Duser.language=ru
          -Dlog.syslog=INFO
          -Dlog.syslog.pattern=DOPUSK: %-5level | %-40logger{40} | %msg %n
          -Dlog.syslog.host=127.0.0.1
          -Dlog.syslog.port=514
          -Dlog.syslog.facility=LOCAL0
      ports:
        - "8081:8080"
      depends_on:
        - db
        - uns
      restart: unless-stopped
  ...........................