kamau1's picture
hide urls and reoder startup sequence
08ec64b
"""
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)