Files
auto2Clean/logger_setup.py

45 lines
1.2 KiB
Python

#!/usr/bin/env python3
"""
日志配置模块
该模块负责配置和初始化日志系统,提供统一的日志接口。
"""
import logging
import os
from logging.handlers import RotatingFileHandler
from config import Config
def setup_logger() -> logging.Logger:
"""配置并返回日志记录器"""
logger = logging.getLogger("auto_clean")
logger.setLevel(getattr(logging, Config.LOG_LEVEL))
# 避免重复添加处理器
if logger.handlers:
return logger
# 创建格式化器
formatter = logging.Formatter(
'%(asctime)s - %(name)s - %(levelname)s - %(message)s',
datefmt='%Y-%m-%d %H:%M:%S'
)
# 控制台处理器
console_handler = logging.StreamHandler()
console_handler.setFormatter(formatter)
logger.addHandler(console_handler)
# 文件处理器(支持日志轮转)
file_handler = RotatingFileHandler(
Config.LOG_FILE,
maxBytes=Config.LOG_MAX_SIZE,
backupCount=Config.LOG_BACKUP_COUNT,
encoding='utf-8'
)
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
logger.debug("日志系统初始化完成")
return logger