Application Logs

Application logs support in SWARM mode

Application Logs in SWARM Mode

The task is to save application logs in container to host by mean JournalD Driver.

Update Run Command

Update run command for service and make symlink to /proc/1/fd/1 from all target log files to push logs to STDOUT. If possible this should be done in entrypoint file (https://wiki.devopss.ru/dockerfiles/entrypoint-sh) file instead.
For such service as sidekiq we can set in args directly:

export PROJECT=project
sudo docker service update --args "bash -c 'ln -sf /proc/1/fd/1 /opt/app/log/staging.log && bundle exec sidekiq -C config/sidekiq.yml -e staging '" ${PROJECT}_sidekiq

Update service default log driver to JournalD

sudo docker service update --log-driver=journald --log-opt tag=${PROJECT}_backend_logs ${PROJECT}_backend

Check for logs by tag

sudo journalctl --since  "1 hour ago" | grep ${PROJECT}_sidekiq_logs