aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--qc_app/__init__.py14
1 files changed, 13 insertions, 1 deletions
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")