From 9180315b0bdf7fb591a9ee50d4bebd4fb08d0b6c Mon Sep 17 00:00:00 2001 From: florian Date: Mon, 3 Nov 2025 19:41:34 +0100 Subject: [PATCH] Moved logging setup to seperate module --- Dockerfile | 2 ++ requirements.txt | 1 + src/db.py | 2 +- src/feed_handler.py | 2 +- src/logger_handler.py | 30 ------------------------------ src/main.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 a54e052..bf6c867 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 65264eb..ea4a35a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,6 +12,7 @@ prometheus_client==0.23.1 pydantic==2.12.0 pydantic_core==2.41.1 python-json-logger==4.0.0 +simple-logger-handler @ git+https://git.gansejunge.com/notifier/lib-logger-handler.git@main requests==2.32.5 sgmllib3k==1.0.0 sniffio==1.3.1 diff --git a/src/db.py b/src/db.py index 4b83b97..75d7e21 100644 --- a/src/db.py +++ b/src/db.py @@ -3,7 +3,7 @@ import threading from secret_handler import return_credentials import os import time -from logger_handler import setup_logger +from simple_logger_handler import setup_logger db_username = return_credentials("/etc/secrets/db_username") db_password = return_credentials("/etc/secrets/db_password") diff --git a/src/feed_handler.py b/src/feed_handler.py index 2b77e5e..c33a45f 100644 --- a/src/feed_handler.py +++ b/src/feed_handler.py @@ -1,6 +1,6 @@ import feedparser import re -from logger_handler import setup_logger +from simple_logger_handler import setup_logger import time from urllib.error import URLError from typing import Tuple 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/main.py b/src/main.py index a2a9c7e..80c0f55 100644 --- a/src/main.py +++ b/src/main.py @@ -2,7 +2,7 @@ from fastapi import FastAPI, Depends, HTTPException, Response, Request import uvicorn from contextlib import asynccontextmanager from db import get_db, create_connection_pool, close_connection_pool, start_healthcheck_thread -from logger_handler import setup_logger, LOG_LEVEL +from simple_logger_handler import setup_logger, LOG_LEVEL from feed_handler import grab_latest_chapter_information from send_notification import send_notification from metrics_server import REQUEST_COUNTER diff --git a/src/secret_handler.py b/src/secret_handler.py index 2f0d133..696f176 100644 --- a/src/secret_handler.py +++ b/src/secret_handler.py @@ -1,4 +1,4 @@ -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 bcb79d8..9a7427a 100644 --- a/src/send_notification.py +++ b/src/send_notification.py @@ -4,7 +4,7 @@ from fastapi import HTTPException from secret_handler import return_credentials import os import time -from logger_handler import setup_logger +from simple_logger_handler import setup_logger backend_api_url=os.getenv("BACKEND_API_URL","localhost:8101/internal/receive-notifications")