日志文件未在 dropwizard 中生成

Log file not generated in dropwizard

我有以下日志方案。我想每 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

Dropwizard 使用 Logback for logging. The rolling policy used here is TimeBasedRollingPolicy

在每小时开始时翻转的 fileNamePattern:

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

不确定是否有办法每 n 小时翻转一次。您可能需要考虑使用 dropwizard 支持的 FixedWindowRollingPolicy。这将允许您根据大小滚动。例如 -

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