From 1be46494ddd75398388ab846095930e916f5a19b Mon Sep 17 00:00:00 2001 From: Joseph Walton Date: Wed, 21 Apr 2021 22:41:21 +1000 Subject: [PATCH] Externalise the basic logging configuration. Refactor the existing use of basicConfig into an external configuration file, to simplify local customisation. --- Dockerfile | 1 + ginlong-scraper.py | 13 ++++--------- logging_config.ini | 21 +++++++++++++++++++++ 3 files changed, 26 insertions(+), 9 deletions(-) create mode 100644 logging_config.ini diff --git a/Dockerfile b/Dockerfile index 0c34f42..d25153a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -51,5 +51,6 @@ COPY requirements.txt ./ RUN pip install --no-cache-dir -r requirements.txt COPY ginlong-scraper.py ./ +COPY logging_config.ini ./ CMD [ "python", "./ginlong-scraper.py" ] diff --git a/ginlong-scraper.py b/ginlong-scraper.py index 5c82ff6..74516f4 100755 --- a/ginlong-scraper.py +++ b/ginlong-scraper.py @@ -6,6 +6,7 @@ import time import os import logging +import logging.config import schedule # Not all keys are avilable depending on your setup @@ -247,15 +248,9 @@ def main(): global next_run_yes get_loglevel = os.environ['LOG_LEVEL'] -loglevel = logging.INFO -if get_loglevel.lower() == "info": - loglevel = logging.INFO -elif get_loglevel.lower() == "error": - loglevel = logging.ERROR -elif get_loglevel.lower() == "debug": - loglevel = logging.DEBUG - -logging.basicConfig(level=loglevel, format='%(asctime)s %(levelname)s %(message)s') +loglevel = get_loglevel.upper() + +logging.config.fileConfig('logging_config.ini', defaults={'loglevel': loglevel}) logging.info('Started ginlong-solis-scraper') schedule.every(5).minutes.at(':00').do(main).run() diff --git a/logging_config.ini b/logging_config.ini new file mode 100644 index 0000000..dd5714d --- /dev/null +++ b/logging_config.ini @@ -0,0 +1,21 @@ +[loggers] +keys=root + +[handlers] +keys=stderr + +[formatters] +keys=simpleFormatter + +[logger_root] +level=DEBUG +handlers=stderr + +[handler_stderr] +class=StreamHandler +level=%(loglevel)s +formatter=simpleFormatter +args=(sys.stderr,) + +[formatter_simpleFormatter] +format=%(asctime)s %(levelname)s %(message)s