# README
docker-logger

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 | |
TIME_ZONE | UTC | time zone for container | |
--json , -j | JSON | false | output formatted as JSON |
- at least one of destinations (
files
orsyslog
) should be allowed - location of log files can be mapped to host via
volume
, ex:- ./logs:/srv/logs
(seedocker-compose.yml
) - both
--exclude
and--include
flags are optional and mutually exclusive, i.e. if--exclude
defined--include
not allowed, and vise versa. - both
--include
and--include-pattern
flags are optional and mutually exclusive, i.e. if--include
defined--include-pattern
not allowed, and vise versa.
Build from the source
- clone this repo -
git clone https://github.com/umputun/docker-logger.git
- build the logger -
cd docker-logger && docker build -t umputun/docker-logger .
- try it -
docker run -it --rm -v $(pwd)/logs:/srv/logs -v /var/run/docker.sock:/var/run/docker.sock umputun/docker-logger /srv/docker-logger --files
# Packages
No description provided by the author