First version
This commit is contained in:
parent
b48dd03b7a
commit
a0ceedaf60
10
pyproject.toml
Normal file
10
pyproject.toml
Normal 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"
|
||||
3
simple_logger_handler/__init__.py
Normal file
3
simple_logger_handler/__init__.py
Normal file
@ -0,0 +1,3 @@
|
||||
from .logger_handler import setup_logger
|
||||
|
||||
__all__ = ["setup_logger"]
|
||||
20
simple_logger_handler/logger_handler.py
Normal file
20
simple_logger_handler/logger_handler.py
Normal 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
|
||||
Loading…
x
Reference in New Issue
Block a user