2 changed files with 99 additions and 28 deletions
@ -0,0 +1,46 @@ |
|||||
|
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 |
Loading…
Reference in new issue