First version

This commit is contained in:
florian 2025-11-03 18:42:06 +01:00
parent b48dd03b7a
commit a0ceedaf60
3 changed files with 33 additions and 0 deletions

10
pyproject.toml Normal file
View File

@ -0,0 +1,10 @@
[project]
name = "simple-logger-handler"
version = "0.1.0"
description = "Simple reusable logger setup."
authors = [{ name = "Florian Gänsejunge" }]
dependencies = ["python-json-logger"]
[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"

View File

@ -0,0 +1,3 @@
from .logger_handler import setup_logger
__all__ = ["setup_logger"]

View File

@ -0,0 +1,20 @@
import os
import logging
from pythonjsonlogger import jsonlogger
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()
formatter = jsonlogger.JsonFormatter(
"%(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