umputun / docker-logger

Logs collector for docker
MIT License
246 stars 37 forks source link
docker logger logging sidecar syslog

docker-logger Go Report Card Docker Automated build

docker-logger is a small application collecting logs from other containers on the host that started without the -t option and configured with a logging driver that works with docker logs (journald and json-file). It can forward both stdout and stderr of containers to local, rotated files and/or to remote syslog.

note: dkll inlcudes all functionality of docker-logger, but adds server and cli client

Install

Copy provided docker-compose.yml, customize if needed and run with docker-compose up -d. By default docker-logger will collect all logs from containers and put it to ./logs directory.

Customization

All changes can be done via container's environment in docker-compose.yml or with command line

Command line Environment Default Description
--docker DOCKER_HOST unix:///var/run/docker.sock docker host
--syslog-host SYSLOG_HOST 127.0.0.1:514 syslog remote host (udp4)
--files LOG_FILES No enable logging to files
--syslog LOG_SYSLOG No enable logging to syslog
--max-size MAX_SIZE 10 size of log triggering rotation (MB)
--max-files MAX_FILES 5 number of rotated files to retain
--mix-err MIX_ERR false send error to std output log file
--max-age MAX_AGE 30 maximum number of days to retain
--exclude EXCLUDE excluded container names, comma separated
--include INCLUDE only included container names, comma separated
--include-pattern INCLUDE_PATTERN only include container names matching a regex
--exclude-pattern EXCLUDE_PATTERN only exclude container names matching a regex
TIME_ZONE UTC time zone for container
--json, -j JSON false output formatted as JSON

Build from the source