Files

45 lines
1.2 KiB
Python

import logging
import os
from logging.handlers import RotatingFileHandler
def get_logger(name):
"""获取日志记录器"""
logger = logging.getLogger(name)
# 如果已经有处理器,直接返回
if logger.handlers:
return logger
logger.setLevel(logging.INFO)
# 创建日志目录
log_dir = 'logs'
if not os.path.exists(log_dir):
os.makedirs(log_dir)
# 文件处理器
log_file = os.path.join(log_dir, f'{name}.log')
file_handler = RotatingFileHandler(
log_file,
maxBytes=10*1024*1024, # 10MB
backupCount=5,
encoding='utf-8'
)
file_handler.setLevel(logging.INFO)
# 控制台处理器
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)
# 设置日志格式
formatter = logging.Formatter(
'%(asctime)s - %(name)s - %(levelname)s - %(message)s'
)
file_handler.setFormatter(formatter)
console_handler.setFormatter(formatter)
# 添加处理器
logger.addHandler(file_handler)
logger.addHandler(console_handler)
return logger