Как настроить расположение и поворот журнала доступа Dropwizard?

Моя конфигурация регистрации выглядит следующим образом:

logging:
  level: INFO

  loggers:
    "com.example.broker": DEBUG
    "org.apache.http.wire": DEBUG

  console:
    threshold: ERROR

  file:
    enabled: true
    currentLogFilename: /opt/broker/log/broker.log
    archivedLogFilenamePattern: /opt/broker/log/broker.%d.log.gz
    archivedFileCount: 14

Это потрясающе, я получаю все мои журналы в данных файлах с правильным вращением и очисткой.

За исключением журнала доступа, который все еще идет на stdout и, таким образом, заканчивается (в моем случае) в /var/log/upstart/broker.log, доступном только для root. Я хотел бы использовать тот же или аналогичный конфигурационный файл для перенаправления этих журналов на /opt/broker/log/access.log.

Возможно ли это, и если да, то как?

Ответ 1

Поскольку переход от codahale к dropwizard.io, расположение соответствующего раздела руководства теперь: http://www.dropwizard.io/0.9.2/docs/manual/configuration.html#request-log

Обратите внимание, что журнал запросов теперь установлен под server, а не http - делает соответствующую конфигурацию YAML:

server:
  requestLog:
    timeZone: UTC
    appenders:
      - type: file
        currentLogFilename: /opt/broker/log/access.log
        threshold: ALL
        archive: true
        archivedLogFilenamePattern: /opt/broker/log/access.%d.log.gz
        archivedFileCount: 14

Ответ 2

Чтение документация действительно помогает:

http:
    requestLog:
        console:
            enabled: false
        file:
            enabled: true
            currentLogFilename: /opt/broker/log/access.log
            archivedLogFilenamePattern: /opt/broker/log/access.%d.log.gz
            archivedFileCount: 14

Ответ 3

Конфигурация журнала доступа Dropwizard доступна здесь.

server:
  requestLog:
    appenders:
      - type: file
        currentLogFilename: /var/log/our-app/access.log
        archivedLogFilenamePattern: /var/log/our-app/accedd-%d.log.gz