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