From bf59f20ffd46b74cb412f02ed203de97b6454f0c Mon Sep 17 00:00:00 2001 From: jo Date: Sat, 15 Jan 2022 18:22:24 +0100 Subject: [PATCH] feat(api): allow to run without log file for dev BREAKING CHANGE: moved production api log file from '/var/log/airtime/api.log' to '/var/log/libretime/api.log' --- api/install/systemd/libretime-api.service | 2 ++ api/libretime_api/settings.py | 38 ++++++++++++----------- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/api/install/systemd/libretime-api.service b/api/install/systemd/libretime-api.service index c7b7bb91b..f6e49bf92 100644 --- a/api/install/systemd/libretime-api.service +++ b/api/install/systemd/libretime-api.service @@ -2,6 +2,8 @@ Description=LibreTime API Service [Service] +Environment=LIBRETIME_LOG_FILEPATH=/var/log/libretime/api.log + ExecStart=/usr/bin/uwsgi /etc/airtime/libretime-api.ini User=libretime-api Group=libretime-api diff --git a/api/libretime_api/settings.py b/api/libretime_api/settings.py index 6be4d1782..8258ec49e 100644 --- a/api/libretime_api/settings.py +++ b/api/libretime_api/settings.py @@ -148,6 +148,23 @@ AUTH_USER_MODEL = "libretime_api.User" TEST_RUNNER = "libretime_api.tests.runners.ManagedModelTestRunner" + +LOGGING_HANDLERS = { + "console": { + "level": "INFO", + "class": "logging.StreamHandler", + "formatter": "simple", + }, +} + +if LIBRETIME_LOG_FILEPATH is not None: + LOGGING_HANDLERS["file"] = { + "level": "DEBUG", + "class": "logging.FileHandler", + "filename": LIBRETIME_LOG_FILEPATH, + "formatter": "verbose", + } + LOGGING = { "version": 1, "disable_existing_loggers": False, @@ -161,30 +178,15 @@ LOGGING = { "style": "{", }, }, - "handlers": { - "file": { - "level": "DEBUG", - "class": "logging.FileHandler", - "filename": os.path.join( - CONFIG.get("pypo", "log_base_dir", fallback=".").replace("'", ""), - "api.log", - ), - "formatter": "verbose", - }, - "console": { - "level": "INFO", - "class": "logging.StreamHandler", - "formatter": "simple", - }, - }, + "handlers": LOGGING_HANDLERS, "loggers": { "django": { - "handlers": ["file", "console"], + "handlers": LOGGING_HANDLERS.keys(), "level": "INFO", "propagate": True, }, "libretime_api": { - "handlers": ["file", "console"], + "handlers": LOGGING_HANDLERS.keys(), "level": "INFO", "propagate": True, },