Added json logger
All checks were successful
Build & Publish to GHCR / build (push) Successful in 44s

This commit is contained in:
florian 2025-10-21 20:18:28 +02:00
parent 5d1b680ae3
commit 6cb52c1b2a
2 changed files with 16 additions and 4 deletions

View File

@ -17,5 +17,6 @@ propcache==0.4.1
pycares==4.11.0 pycares==4.11.0
pycparser==2.23 pycparser==2.23
PyMySQL==1.1.2 PyMySQL==1.1.2
python-json-logger==4.0.0
typing_extensions==4.15.0 typing_extensions==4.15.0
yarl==1.22.0 yarl==1.22.0

View File

@ -1,5 +1,11 @@
import logging
import os import os
import logging
try:
from pythonjsonlogger import jsonlogger
JSON_LOGGING = True
except ImportError:
JSON_LOGGING = False
LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO").upper() LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO").upper()
if LOG_LEVEL not in {"ERROR", "DEBUG", "INFO", "WARNING", "CRITICAL"}: if LOG_LEVEL not in {"ERROR", "DEBUG", "INFO", "WARNING", "CRITICAL"}:
@ -9,9 +15,14 @@ def setup_logger(name: str) -> logging.Logger:
logger = logging.getLogger(name) logger = logging.getLogger(name)
if not logger.handlers: if not logger.handlers:
handler = logging.StreamHandler() handler = logging.StreamHandler()
formatter = logging.Formatter( if JSON_LOGGING:
'%(asctime)s - %(name)s - %(levelname)s - %(message)s' formatter = jsonlogger.JsonFormatter(
) "%(asctime)s %(name)s %(levelname)s %(message)s"
)
else:
formatter = logging.Formatter(
"%(asctime)s - %(name)s - %(levelname)s - %(message)s"
)
handler.setFormatter(formatter) handler.setFormatter(formatter)
logger.addHandler(handler) logger.addHandler(handler)
logger.setLevel(getattr(logging, LOG_LEVEL)) logger.setLevel(getattr(logging, LOG_LEVEL))