How do I configure the location and rotation of the Dropwizard access log?

mss picture mss · Oct 4, 2013 · Viewed 13.1k times · Source

My logging config looks like this:

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

This is awesome, I get all my logs in the given files with proper rotation and cleanup.

Except for the access log which still goes to stdout and thus ends up (in my case) in /var/log/upstart/broker.log which is accessible by root only. I'd like to make use of the same or a similar logging config to redirect those logs to /opt/broker/log/access.log.

Is this possible and if so, how?

Answer

Robin Bramley picture Robin Bramley · Jul 21, 2014

Since the move from codahale to dropwizard.io, the location of the relevant section of the manual is now: http://www.dropwizard.io/0.9.2/docs/manual/configuration.html#request-log

Note that the request log is now set under server rather than http - making the relevant YAML configuration:

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