Файл журнала не генерируется в dropwizard - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть следующая схема журнала.Я хочу вращать журналы каждые 4 часа.Но когда я запускаю приложение с этими настройками, файл ./logs/mylogs.log не генерируется.У меня есть каталог logs, созданный в каталоге приложения.

Это прекрасно работает, если я изменяю шаблон имени файла, чтобы включить минуты, например: * archivedLogFilenamePattern: ./logs/mylogs-%d{yyyy-MM-dd-hh-mm}.log.gz Я не понимаю, почему это не работает для часового шаблона?

logging:
  level: WARN
  appenders:
    - type: console
      threshold: WARN
    - type: file
      threshold: WARN
      logFormat: "%-6level [%d{HH:mm:ss.SSS}] [%t] %logger{5} - %X{code} %msg %n"
      currentLogFilename: ./logs/mylogs.log
      archive: true
      archivedLogFilenamePattern: ./logs/mylogs-%d{yyyy-MM-dd-hh}.log.gz
      archivedFileCount: 4

Использование dropwizard 1.3.7

1 Ответ

0 голосов
/ 26 февраля 2019

Dropwizard использует Logback для ведения журнала.Используемая здесь скользящая политика: TimeBasedRollingPolicy .

FileNamePattern для ролловера в начале каждого часа:

  archivedLogFilenamePattern: ./logs/mylogs-%d{yyyy-MM-dd_HH}.log.gz

Не уверен, существует ли способ ролловера для каждогоп часов.Возможно, вы захотите использовать FixedWindowRollingPolicy , который поддерживает dropwizard.Это позволит вам переворачиваться в зависимости от размера.Например -

  - type: file
    threshold: ALL
    maxFileSize: 100MB
    currentLogFilename: ./logs/max-file-size-example.log
    archivedLogFilenamePattern: ./logs/max-file-size-example-%i.log.gz
    archivedFileCount: 5
...