# 3.10. Logging

## 3.10.1. Logging options

`[log]`

  CouchDB logging configuration.

  `writer`

    Current writers include:

    - `stderr`: Logs are sent to stderr.
    - `file`: Logs are sent to the file set in `log file`.
    - `syslog`: Logs are sent to the syslog daemon.
    - `journald`: Logs are sent to stderr without timestamp and log levels compatible with sd-daemon.

    You can also specify a full module name here if implement your own writer:

        [log]
        writer = stderr

  `file`

    Specifies the location of file for logging output. Only used by the `file` `writer`:

        [log]
        file = /var/log/couchdb/couch.log

    This path should be readable and writable for user that runs CouchDB service (couchdb by default).

  `write_buffer`

    Specifies the size of the file log write buffer in bytes, to enable delayed log writes. Only used by the `file` `writer`:

        [log]
        write_buffer = 0

  `write_delay`

    Specifies the wait in milliseconds before committing logs to disk, to enable delayed log writes. Only used by the `file` `writer`:

        [log]
        write_delay = 0

  `level`

    Changed in version 1.3: Added `warning` level.

    Logging level defines how verbose and detailed logging will be:

        [log]
        level = info

    Available levels:

    - `debug`: Detailed debug logging.
    - `info`: Informative logging. Includes HTTP requests headlines, startup of an external processes etc.
    - `notice`
    - `warning` or `warn`: Warning messages are alerts about edge situations that may lead to errors. For instance, compaction daemon alerts about low or insufficient disk space at this level.
    - `error` or `err`: Error level includes only things that go wrong, like crash reports and HTTP error responses (5xx codes).
    - `critical` or `crit`
    - `alert`
    - `emergency` or `emerg`
    - `none`: Disables logging any messages.
  `include_sasl`

    Includes SASL information in logs:

        [log]
        include_sasl = true

  `syslog_host`

    Specifies the syslog host to send logs to. Only used by the `syslog` `writer`:

        [log]
        syslog_host = localhost

  `syslog_port`

    Specifies the syslog port to connect to when sending logs. Only used by the `syslog` `writer`:

        [log]
        syslog_port = 514

  `syslog_appid`

    Specifies application name to the `syslog` `writer`:

        [log]
        syslog_appid = couchdb

  `syslog_facility`

    Specifies the syslog facility to use with the `syslog` `writer`:

        [log]
        syslog_facility = local2