Another update to logging init

This commit is contained in:
Daniel Schick 2026-01-27 10:49:55 +01:00
parent 6eb572cb75
commit 343366db91

View File

@ -73,9 +73,13 @@ def create_app(test_config=None, instance_path=None):
app.register_blueprint(ports.bp)
log_level = getattr(logging, app.config.get("LOG_LEVEL", "DEBUG"))
log_kwargs = {"format": "%(asctime)s | %(name)s | %(levelname)s | %(message)s"}
log_format = "%(asctime)s | %(name)s | %(levelname)s | %(message)s"
root_logger = logging.getLogger()
for handler in list(root_logger.handlers):
root_logger.removeHandler(handler)
if app.config.get("LOG_TO_STDERR"):
log_kwargs["stream"] = sys.stderr
handler = logging.StreamHandler(sys.stderr)
else:
log_file = app.config.get("LOG_FILE", "brecaltest.log")
if not os.path.isabs(log_file):
@ -83,12 +87,11 @@ def create_app(test_config=None, instance_path=None):
log_dir = os.path.dirname(log_file)
if log_dir and not os.path.exists(log_dir):
os.makedirs(log_dir, exist_ok=True)
log_kwargs["filename"] = log_file
# Force handler setup so WSGI doesn't keep the default stderr handler.
try:
logging.basicConfig(level=log_level, force=True, **log_kwargs)
except Exception:
logging.basicConfig(level=log_level, force=True, stream=sys.stderr, **{"format": log_kwargs["format"]})
handler = logging.FileHandler(log_file)
handler.setFormatter(logging.Formatter(log_format, datefmt="%d.%m.%Y %H:%M:%S"))
root_logger.addHandler(handler)
root_logger.setLevel(log_level)
if app.config.get("SECRET_KEY"):
os.environ["SECRET_KEY"] = app.config["SECRET_KEY"]