From 77fc426d35cf88af768dfac281e6a4979ed451fc Mon Sep 17 00:00:00 2001 From: Frederick Muriuki Muriithi Date: Tue, 19 Mar 2024 15:54:24 +0300 Subject: Set up application logging. --- qc_app/__init__.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'qc_app') diff --git a/qc_app/__init__.py b/qc_app/__init__.py index 43831d8..c9756a1 100644 --- a/qc_app/__init__.py +++ b/qc_app/__init__.py @@ -1,7 +1,9 @@ """The Quality-Control Web Application entry point""" - import os +import sys +import logging from pathlib import Path +from logging import StreamHandler from flask import Flask @@ -18,6 +20,15 @@ def override_settings_with_envvars( for setting in (key for key in app.config if key not in ignore): app.config[setting] = os.environ.get(setting) or app.config[setting] +def setup_logging(app: Flask): + """Setup application logging""" + handler_stderr = StreamHandler(stream=sys.stderr) + app.logger.addHandler(handler_stderr) + + rootlogger = logging.getLogger() + rootlogger.addHandler(handler_stderr) + rootlogger.setLevel(app.config["LOG_LEVEL"]) + def create_app(): """The application factory""" app = Flask(__name__) @@ -27,6 +38,7 @@ def create_app(): app.config.from_envvar("QCAPP_CONF") # Override defaults with instance path override_settings_with_envvars(app, ignore=tuple()) + setup_logging(app) if "QCAPP_SECRETS" in os.environ: app.config.from_envvar("QCAPP_SECRETS") -- cgit v1.2.3