Spaces:
Sleeping
Sleeping
File size: 694 Bytes
c8f4a46 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import logging
import sys
def setup_logging(level: int = logging.INFO) -> None:
"""Configure structured application logging."""
fmt = "%(asctime)s | %(levelname)-8s | %(name)s | %(message)s"
handler = logging.StreamHandler(sys.stdout)
handler.setFormatter(logging.Formatter(fmt, datefmt="%Y-%m-%dT%H:%M:%S"))
root = logging.getLogger()
root.setLevel(level)
# Avoid duplicate handlers if called more than once (e.g. in tests)
if not root.handlers:
root.addHandler(handler)
# Quieten noisy libraries
logging.getLogger("uvicorn.access").setLevel(logging.WARNING)
def get_logger(name: str) -> logging.Logger:
return logging.getLogger(name)
|