3.10. Logging

3.10.1. Logging options


CouchDB logging configuration.


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:

writer = stderr

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

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

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


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

write_buffer = 0

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

write_delay = 0

Changed in version 1.3: Added warning level.

Logging level defines how verbose and detailed logging will be:

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.


Includes SASL information in logs:

include_sasl = true


Setting syslog_host is mandatory for syslog to work!

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

syslog_host = localhost

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

syslog_port = 514

Specifies application name to the syslog writer:

syslog_appid = couchdb

Specifies the syslog facility to use with the syslog writer:

syslog_facility = local2


CouchDB’s syslog only knows how to use UDP logging. Please ensure that your syslog server has UDP logging enabled.

For rsyslog you can enable the UDP module imudp in /etc/rsyslog.conf:

# provides UDP syslog reception
input(type="imudp" port="514")