TMD-Golf-Caddie-Agent / backend /core /logging_config.py
mwalker22's picture
Replace the debug_print function and environment variable dependency with a logger implementation. Logging level is now controlled via an API.
5f64962
import logging
from typing import Optional
# Create a custom logger
logger = logging.getLogger("golf_agent")
logger.setLevel(logging.INFO) # Default level
# Create console handler with formatting
console_handler = logging.StreamHandler()
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
console_handler.setFormatter(formatter)
logger.addHandler(console_handler)
def set_log_level(level: str) -> None:
"""
Set the logging level for the application.
Args:
level: One of 'DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'
"""
level = level.upper()
valid_levels = ['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL']
if level not in valid_levels:
raise ValueError(f"Invalid log level. Must be one of {valid_levels}")
logger.setLevel(getattr(logging, level))
logger.info(f"Log level set to {level}")
def get_log_level() -> str:
"""
Get the current logging level.
Returns:
str: Current logging level name
"""
return logging.getLevelName(logger.level)