45 lines
1.2 KiB
Python
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
|