crawler_task_management/public_function/public_func.py

35 lines
1.1 KiB
Python

# -*- coding: utf-8 -*-
import yaml
import logging
from pathlib import Path
from datetime import datetime
from logging.handlers import TimedRotatingFileHandler
def create_logger():
now_date = datetime.now().strftime('%Y%m%d')
log_filename = os.path.join(Path(__file__).resolve().parent.parent, f'logs/crawler_task_{now_date}.log')
path = Path(log_filename).resolve().parent
os.makedirs(path, exist_ok=True)
logger = logging.getLogger("emu_dsl")
# 防止重复添加handler
if logger.handlers:
return logger
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler = TimedRotatingFileHandler(log_filename, when='midnight', backupCount=7, encoding='utf-8')
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
logger.setLevel(logging.INFO)
return logger
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