Логирование (v2.0.x)

Пример файла логгирования с ротацией по дням:

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

Настройки:

  1. Путь по умолчанию: ./configs/log.yaml
  2. Путь к файлу может быть настроен с помощью аргументов при запуске ПО
    • Например: tsrv --logs-config C:/tsrv/log-config.yaml

Логирование (v1.8.x)

По умолчанию установлен INFO уровень логирования всех модулей в stdout (консоль).

При необходимости логирование может быть настроено путем создания файла конфигурации логирования, примерно следующего содержания:

refresh_rate: 15 seconds 
appenders:              
  stdout:
    kind: console

  receipts:               # (1) Дополнительное правило логирования 
    kind: console         # В консоль (stdout)
    encoder:    
      pattern: "{m}{n}"   # Шаблон. {m} - сообщение, {n} - перенос
root:
  level: info             # Уровень логирования для всех модулей
  appenders:
    - stdout

loggers:
  tsrv_renderer::esc_pos: # Данный модуль отвечает за преобразование в EscPos команды
    level: trace          # Уровень логирования
    appenders:
      - receipts          # (1)
    additive: false      

  actix_server::worker:
    level: warn
    appenders:
      - stdout

Путь конфигурационного файла зависит от ОС:

ОСПутьПример
Linux$XDG_CONFIG_HOME или $HOME/.config/home/alice/.config/.tsrv/log.yaml
Windows%AppData%C:\Users\Alice\AppData\Roaming\.tsrv\log.yaml