Spaces:
Sleeping
Sleeping
File size: 945 Bytes
74de430 5dcb32d 74de430 5dcb32d 74de430 5dcb32d 74de430 08ec64b 74de430 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | """
Structured Logging Configuration
"""
import logging
import sys
from app.config import settings
# Configure logging format with ISO 8601 timestamp
# Format: LEVEL: YYYY-MM-DDTHH:MM:SS.sssZ - logger_name: message
logging.basicConfig(
level=logging.DEBUG if settings.DEBUG else logging.INFO,
format="%(levelname)s: %(asctime)s - %(name)s: %(message)s",
datefmt="%Y-%m-%dT%H:%M:%S",
handlers=[
logging.StreamHandler(sys.stdout)
],
force=True # Override any existing basicConfig calls
)
# Suppress verbose third-party loggers for security and cleaner logs
# Only show warnings and errors from these libraries during startup
logging.getLogger("httpx").setLevel(logging.WARNING)
logging.getLogger("httpcore").setLevel(logging.WARNING)
logging.getLogger("urllib3").setLevel(logging.WARNING)
def get_logger(name: str) -> logging.Logger:
"""
Get a logger instance
"""
return logging.getLogger(name)
|