You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

46 lines
1.2 KiB

import os
import logging
from datetime import datetime
def setup_logger(name, log_dir='logs'):
"""
设置日志记录器
参数:
name: 日志记录器名称
log_dir: 日志文件存储目录
返回:
logger: 配置好的日志记录器
"""
# 创建logs目录
os.makedirs(log_dir, exist_ok=True)
# 创建日志记录器
logger = logging.getLogger(name)
logger.setLevel(logging.INFO)
# 如果logger已经有处理器,则不添加
if logger.handlers:
return logger
# 创建格式化器
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# 创建文件处理器
current_time = datetime.now().strftime('%Y%m%d_%H%M%S')
log_file = os.path.join(log_dir, f'{name}_{current_time}.log')
file_handler = logging.FileHandler(log_file, encoding='utf-8')
file_handler.setLevel(logging.INFO)
file_handler.setFormatter(formatter)
# 添加文件处理器到日志记录器
logger.addHandler(file_handler)
# 记录初始信息
logger.info("="*50)
logger.info(f"Logger initialized: {name}")
logger.info(f"Log file: {log_file}")
logger.info("="*50)
return logger