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