MukeshKapoor25's picture
feat(logging): add centralized logger setup utility
206d2a8
raw
history blame contribute delete
946 Bytes
import logging
import sys
def setup_logger(name):
"""
Set up a logger with consistent formatting and settings
Args:
name (str): The name for the logger, typically __name__
Returns:
logging.Logger: Configured logger instance
"""
logger = logging.getLogger(name)
# Only configure handlers if they don't exist
if not logger.handlers:
# Console handler
console_handler = logging.StreamHandler(sys.stdout)
console_format = logging.Formatter(
'%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
console_handler.setFormatter(console_format)
logger.addHandler(console_handler)
# Set level - could be read from environment variables
logger.setLevel(logging.INFO)
# Prevent propagation to root logger to avoid duplicate logs
logger.propagate = False
return logger