Source code for src.logger

"""
Enhanced logging configuration for podcast teaser
"""

import logging
import os
from datetime import datetime

[docs] def setup_logger(): """ Set up logger with both file and console handlers """ # Create logs directory if it doesn't exist if not os.path.exists('logs'): os.makedirs('logs') # Create timestamp for log files timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") # Set up main logger logger = logging.getLogger("podcast_teaser") logger.setLevel(logging.DEBUG) # Create formatters detailed_formatter = logging.Formatter( '%(asctime)s - %(name)s - %(levelname)s - %(filename)s:%(lineno)d - %(funcName)s - %(message)s' ) console_formatter = logging.Formatter( '%(asctime)s - %(name)s - %(levelname)s - %(message)s' ) # File handler for all logs main_handler = logging.FileHandler(f"logs/podcast_teaser_{timestamp}.log") main_handler.setLevel(logging.DEBUG) main_handler.setFormatter(detailed_formatter) # Separate file handler for errors error_handler = logging.FileHandler(f"logs/podcast_teaser_errors_{timestamp}.log") error_handler.setLevel(logging.ERROR) error_handler.setFormatter(detailed_formatter) # Console handler console_handler = logging.StreamHandler() console_handler.setLevel(logging.INFO) console_handler.setFormatter(console_formatter) # Add handlers to logger logger.addHandler(main_handler) logger.addHandler(error_handler) logger.addHandler(console_handler) return logger