GGUF-Splitter / src /logging_config.py
Felladrin's picture
Initial commit
2de2584
"""Structured logging configuration for GGUF Splitter"""
import logging
import os
from typing import Literal, Optional
LogLevel = Literal["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"]
def setup_logging(level: Optional[LogLevel] = None) -> logging.Logger:
"""Set up structured logging for the application"""
if level is None:
level = os.getenv("LOG_LEVEL", "INFO")
numeric_level = getattr(logging, level.upper(), logging.INFO)
logger = logging.getLogger("gguf_splitter")
logger.setLevel(numeric_level)
if not logger.handlers:
console_handler = logging.StreamHandler()
console_handler.setLevel(numeric_level)
formatter = logging.Formatter(
"%(asctime)s - %(name)s - %(levelname)s - %(message)s"
)
console_handler.setFormatter(formatter)
logger.addHandler(console_handler)
return logger