Логирование
Пример файла логгирования с ротацией по дням:
refresh_rate: 15 seconds
appenders:
stdout:
kind: console
stdout_rolling:
kind: rolling_file
path: ./logs/log.log
append: true
encoder:
pattern: "{d(%d.%m.%Y %H:%M:%S)} {({l}):5.5} {m}{n}"
policy:
trigger:
kind: time
interval: 1 day
modulate: true
roller:
kind: fixed_window
pattern: "./logs/log_{}.log"
count: 100
base: 1
root:
level: info
appenders:
- stdout
- stdout_rolling
# Логировать ответы и запросы
loggers:
srv::router::with_debug:
level: debug
Каждый запрос логируется с уникальным идентификатором и временем выполнения. Тела запросов и ответов
логируются при уровне debug для srv::router::with_debug; для запросов, завершившихся ошибкой, — всегда (уровень error).
Печатные чеки в отдельный файл
Отрисованные чеки (при заголовке printer.debug: true) можно выделить в отдельный файл:
appenders:
cheque_to_files:
kind: rolling_file
path: ./logs/cheque.log
encoder:
pattern: "{d(%d.%m.%Y %H:%M:%S)} {({l}):5.5} {m}{n}"
policy:
trigger:
kind: time
interval: 1 day
modulate: true
roller:
kind: fixed_window
pattern: "./logs/cheque_{}.log"
count: 100
base: 1
loggers:
srv::services::rendering::service:
level: info
additive: false
appenders:
- cheque_to_files
Важно: В случае установки как службы, в поле path необходимо указывать абсолютный путь к файлу логирования.
Настройки:
- Путь по умолчанию:
configs/log.yamlв папке с исполняемым файлом tsrv- В deb пакете логи пишутся в
/var/log/tsrv/
- В deb пакете логи пишутся в
- Путь к файлу может быть настроен с помощью аргументов при запуске ПО
- Например:
tsrv --logs-config C:/tsrv/log-config.yaml
- Например:
- Если файл не найден или содержит ошибку — логи выводятся только в консоль, уровень
info