Moved logging setup to seperate module
All checks were successful
Build & Publish to GHCR / build (push) Successful in 1m11s

This commit is contained in:
florian 2025-11-03 19:54:17 +01:00
parent 6cb52c1b2a
commit bfc8abd441
8 changed files with 8 additions and 35 deletions

View File

@ -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

View File

@ -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

View File

@ -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")

View File

@ -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

View File

@ -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__)

View File

@ -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

View File

@ -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__)

View File

@ -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__)