From bfc8abd441ad831fc8c7352246c316752c9157e1 Mon Sep 17 00:00:00 2001 From: florian Date: Mon, 3 Nov 2025 19:54:17 +0100 Subject: [PATCH] Moved logging setup to seperate module --- Dockerfile | 2 ++ requirements.txt | 1 + src/db.py | 2 +- src/logger_handler.py | 30 ------------------------------ src/metrics.py | 2 +- src/rabbitmq_handler.py | 2 +- src/secret_handler.py | 2 +- src/send_notification.py | 2 +- 8 files changed, 8 insertions(+), 35 deletions(-) delete mode 100644 src/logger_handler.py diff --git a/Dockerfile b/Dockerfile index d90c0bd..5484c2f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,7 @@ FROM python:3.12-slim +RUN apt-get update && apt-get install -y git + COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt diff --git a/requirements.txt b/requirements.txt index b126dcf..5bbd764 100644 --- a/requirements.txt +++ b/requirements.txt @@ -18,5 +18,6 @@ pycares==4.11.0 pycparser==2.23 PyMySQL==1.1.2 python-json-logger==4.0.0 +simple-logger-handler @ git+https://git.gansejunge.com/notifier/lib-logger-handler.git@main typing_extensions==4.15.0 yarl==1.22.0 diff --git a/src/db.py b/src/db.py index 25fd2e5..0d60329 100644 --- a/src/db.py +++ b/src/db.py @@ -3,7 +3,7 @@ import aiomysql import asyncio from secret_handler import return_credentials import os -from logger_handler import setup_logger +from simple_logger_handler import setup_logger import pymysql.err db_username = return_credentials("/etc/secrets/db_username") diff --git a/src/logger_handler.py b/src/logger_handler.py deleted file mode 100644 index c504d1e..0000000 --- a/src/logger_handler.py +++ /dev/null @@ -1,30 +0,0 @@ -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() -if LOG_LEVEL not in {"ERROR", "DEBUG", "INFO", "WARNING", "CRITICAL"}: - LOG_LEVEL = "INFO" - -def setup_logger(name: str) -> logging.Logger: - logger = logging.getLogger(name) - if not logger.handlers: - handler = logging.StreamHandler() - if JSON_LOGGING: - 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) - logger.addHandler(handler) - logger.setLevel(getattr(logging, LOG_LEVEL)) - logger.debug(f"Logger {name} initialized with level {LOG_LEVEL}") - return logger diff --git a/src/metrics.py b/src/metrics.py index 12f48fc..2666d32 100644 --- a/src/metrics.py +++ b/src/metrics.py @@ -1,5 +1,5 @@ from prometheus_client import Counter, Gauge, start_http_server -from logger_handler import setup_logger +from simple_logger_handler import setup_logger import asyncio logger = setup_logger(__name__) diff --git a/src/rabbitmq_handler.py b/src/rabbitmq_handler.py index d6c6828..7bf412f 100644 --- a/src/rabbitmq_handler.py +++ b/src/rabbitmq_handler.py @@ -3,7 +3,7 @@ import aio_pika from aio_pika.exceptions import AMQPException from secret_handler import return_credentials, database_lookup_by_user_id, decrypt_token, remove_inactive_push_token, database_lookup_by_uuid import os -from logger_handler import setup_logger +from simple_logger_handler import setup_logger import json from db import db_manager from send_notification import send_notification diff --git a/src/secret_handler.py b/src/secret_handler.py index 8b22319..62d21aa 100644 --- a/src/secret_handler.py +++ b/src/secret_handler.py @@ -1,5 +1,5 @@ from cryptography.fernet import Fernet -from logger_handler import setup_logger +from simple_logger_handler import setup_logger logger = setup_logger(__name__) diff --git a/src/send_notification.py b/src/send_notification.py index 038d06f..956dc9c 100644 --- a/src/send_notification.py +++ b/src/send_notification.py @@ -1,7 +1,7 @@ import aiohttp import aiodns import asyncio -from logger_handler import setup_logger +from simple_logger_handler import setup_logger API_ENDPOINT="https://exp.host/--/api/v2/push/send" logger = setup_logger(__name__)