Swift-Query / utils /logging /logger.py
Darshan Kumar R
Deploy to Hugging Face Spaces (Clean)
ed0b977
Raw History Blame Contribute Delete
1.1 kB
import logging
import sys
from logging.handlers import RotatingFileHandler
def setup_logger():
# Formatting
log_format = logging.Formatter(
'%(asctime)s - %(levelname)s - %(module)s - %(message)s (%(funcName)s:%(lineno)d)'
)
# Base Logger
logger = logging.getLogger("swiftquery")
logger.setLevel(logging.DEBUG) # Set base level to debug
# --- Handlers ---
# 1. Console Handler (for stdout)
console_handler = logging.StreamHandler(sys.stdout)
console_handler.setLevel(logging.INFO) # Only INFO and above for console
console_handler.setFormatter(log_format)
# 2. File Handler (for logging to a file)
# Rotates logs, keeping 5 backups of 5MB each
file_handler = RotatingFileHandler(
'app.log', maxBytes=5*1024*1024, backupCount=5
)
file_handler.setLevel(logging.DEBUG) # DEBUG and above for file
file_handler.setFormatter(log_format)
# Add handlers to the logger
logger.addHandler(console_handler)
logger.addHandler(file_handler)
return logger
# Instantiate the logger
logger = setup_logger()