crawler_task_management/public_function/public_func.py

43 lines
1.3 KiB
Python
Raw Permalink Normal View History

2025-11-26 17:40:11 +08:00
# -*- coding: utf-8 -*-
2025-11-27 16:18:12 +08:00
import os
2025-11-26 17:40:11 +08:00
import yaml
2025-11-27 16:00:41 +08:00
import logging
2025-11-26 17:40:11 +08:00
from pathlib import Path
2025-11-27 16:00:41 +08:00
from datetime import datetime
from logging.handlers import TimedRotatingFileHandler
2025-11-27 16:01:52 +08:00
def create_logger(file_name):
2025-11-27 16:18:12 +08:00
# 使用固定文件名,不包含日期
log_dir = os.path.join(Path(__file__).resolve().parent.parent, 'logs')
os.makedirs(log_dir, exist_ok=True)
log_filename = os.path.join(log_dir, f'{file_name}.log')
2025-11-27 16:00:41 +08:00
logger = logging.getLogger("emu_dsl")
if logger.handlers:
return logger
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
2025-11-27 16:18:12 +08:00
# 配置TimedRotatingFileHandler设置时区
file_handler = TimedRotatingFileHandler(filename=log_filename, when='midnight', interval=1,
backupCount=3, encoding='utf-8', utc=False)
2025-11-27 16:00:41 +08:00
file_handler.setFormatter(formatter)
2025-11-27 16:18:12 +08:00
file_handler.suffix = "%Y%m%d" # 设置备份文件的后缀格式
2025-11-27 16:00:41 +08:00
logger.addHandler(file_handler)
logger.setLevel(logging.INFO)
return logger
2025-11-26 17:40:11 +08:00
def read_config(path):
if Path(path).exists():
with open(path, encoding="utf-8") as f:
config = yaml.safe_load(f)
return config
else:
raise FileNotFoundError
2025-11-27 16:18:12 +08:00
if __name__ == '__main__':
create_logger(file_name="all_task_management")