Blog-Writing-Agent / src /logger /__init__.py
VashuTheGreat2's picture
Upload folder using huggingface_hub
63de3ab verified
import logging
import os
from logging.handlers import RotatingFileHandler
from from_root import from_root
from datetime import datetime
LOG_DIR = 'logs'
# LOG_FILE = f"{datetime.now().strftime('%m_%d_%Y_%H_%M_%S')}.log"
LOG_FILE="LOG.log"
MAX_LOG_SIZE = 5 * 1024 * 1024 # 5 MB
BACKUP_COUNT = 3 # Number of backup log files to keep
# construct log file path
log_dir_path=os.path.join(from_root(),LOG_DIR)
os.makedirs(log_dir_path,exist_ok=True)
log_file_path=os.path.join(log_dir_path,LOG_FILE)
def configure_logger():
logger=logging.getLogger()
logger.setLevel(logging.DEBUG)
# Defining formate
formater = logging.Formatter("[ %(asctime)s ] %(name)s - %(levelname)s - %(message)s")
# file handleing with rotation
file_handler=RotatingFileHandler(log_file_path, maxBytes=MAX_LOG_SIZE, backupCount=BACKUP_COUNT)
file_handler.setFormatter(formater)
file_handler.setLevel(logging.DEBUG)
console_handler=logging.StreamHandler()
console_handler.setFormatter(formater)
console_handler.setLevel(logging.INFO)
# Ensure console output uses UTF-8 to prevent character mapping errors on Windows
if hasattr(console_handler.stream, 'reconfigure'):
console_handler.stream.reconfigure(encoding='utf-8')
logger.addHandler(file_handler)
logger.addHandler(console_handler)
# return logger
configure_logger()