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

Note

Setting syslog_host is mandatory for syslog to work!

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

Note

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
module(load="imudp")
input(type="imudp" port="514")