CoolFace
Apppublic

ruby2210/rag-chatbot

sourceHugging Faceupdated 9mo agoView on Hugging Face
0likes
logging.py57 linesDownload Raw Back to utils
1"""2Error handling and logging infrastructure for the RAG Chatbot application.3"""4import logging5from logging.handlers import RotatingFileHandler6import os7from pathlib import Path8 9 10def setup_logging():11    """12    Set up the logging configuration for the application.13    """14    # Create logs directory if it doesn't exist15    logs_dir = Path("logs")16    logs_dir.mkdir(exist_ok=True)17 18    # Create formatter19    formatter = logging.Formatter(20        '%(asctime)s - %(name)s - %(levelname)s - %(message)s'21    )22 23    # Create file handler with rotation24    file_handler = RotatingFileHandler(25        'logs/app.log',26        maxBytes=10*1024*1024,  # 10MB27        backupCount=528    )29    file_handler.setLevel(logging.INFO)30    file_handler.setFormatter(formatter)31 32    # Create console handler33    console_handler = logging.StreamHandler()34    console_handler.setLevel(logging.INFO)35    console_handler.setFormatter(formatter)36 37    # Get root logger and configure it38    root_logger = logging.getLogger()39    root_logger.setLevel(logging.INFO)40    root_logger.addHandler(file_handler)41    root_logger.addHandler(console_handler)42 43    # Set specific loggers to WARNING to reduce noise44    logging.getLogger("urllib3").setLevel(logging.WARNING)45    logging.getLogger("qdrant_client").setLevel(logging.WARNING)46    logging.getLogger("sqlalchemy").setLevel(logging.WARNING)47 48 49def get_logger(name: str) -> logging.Logger:50    """51    Get a logger with the specified name.52    """53    return logging.getLogger(name)54 55 56# Initialize logging when this module is imported57setup_logging()