From d22244473fc550079d40de08dd83dbdd7997c087 Mon Sep 17 00:00:00 2001 From: Tanner Prestegard <tanner.prestegard@ligo.org> Date: Mon, 18 Feb 2019 13:34:52 -0600 Subject: [PATCH] Set up stdout logging for container Add a logging handler for printing to stdout. For container deployments, we remove all other logging handlers and use this new 'console' handler only. The incantation for starting gunicorn with supervisord now sends the access and error logs to stdout. --- config/settings/base.py | 16 ++++++++++++++-- config/settings/container/base.py | 4 ++++ docker/supervisord-apache2.conf | 2 +- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/config/settings/base.py b/config/settings/base.py index 4725b5497..830bc433b 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -487,7 +487,14 @@ LOGGING = { 'format': '%(asctime)s.%(msecs)03d | %(name)s | %(levelname)s | ' \ + '%(filename)s, line %(lineno)s | %(message)s', 'datefmt': LOG_DATEFMT, - } + }, + 'console': { + 'format': ('%(asctime)s.%(msecs)03d | {host} | {ip} | %(name)s | ' + '%(levelname)s | %(filename)s, line %(lineno)s | ' + '%(message)s').format(host=INTERNAL_HOSTNAME, + ip=INTERNAL_IP_ADDRESS), + 'datefmt': LOG_DATEFMT, + }, }, 'handlers': { 'null': { @@ -520,7 +527,12 @@ LOGGING = { 'mail_admins': { 'level': 'ERROR', 'class': 'django.utils.log.AdminEmailHandler' - } + }, + 'console': { + 'class': 'logging.StreamHandler', + 'formatter': 'console', + 'level': 'DEBUG', + }, }, 'loggers': { 'django': { diff --git a/config/settings/container/base.py b/config/settings/container/base.py index 030105479..6fa5b956b 100644 --- a/config/settings/container/base.py +++ b/config/settings/container/base.py @@ -106,3 +106,7 @@ EMBB_MAIL_ADDRESS = 'embb@{fqdn}.ligo.org'.format(fqdn=SERVER_FQDN) EMBB_SMTP_SERVER = 'localhost' EMBB_MAIL_ADMINS = [admin[1] for admin in ADMINS] EMBB_IGNORE_ADDRESSES = ['Mailer-Daemon@{fqdn}'.format(fqdn=SERVER_FQDN)] + +# Set up logging to stdout only +for key in LOGGING['loggers']: + LOGGING['loggers'][key]['handlers'] = ['console'] diff --git a/docker/supervisord-apache2.conf b/docker/supervisord-apache2.conf index 7e4523d7c..0ae47cd85 100644 --- a/docker/supervisord-apache2.conf +++ b/docker/supervisord-apache2.conf @@ -6,7 +6,7 @@ redirect_stderr=true priority=3 [program:gracedb] -command=/usr/local/bin/gunicorn config.wsgi:application --reload --config /app/gracedb_project/config/gunicorn_config.py +command=/usr/local/bin/gunicorn config.wsgi:application --reload --config /app/gracedb_project/config/gunicorn_config.py --error-logfile='-' --access-logfile='-' directory=/app/gracedb_project user=gracedb group=www-data -- GitLab