123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- from datetime import date, timedelta
- from datetime import datetime
- from loguru import logger
- import os
- proxies = {"http": None, "https": None}
- class Local(object):
- # 统一获取当前时间 <class 'datetime.datetime'> 2022-04-14 20:13:51.244472
- now = datetime.now()
- # 昨天 <class 'str'> 2022-04-13
- yesterday = (date.today() + timedelta(days=-1)).strftime("%Y-%m-%d")
- # 今天 <class 'datetime.date'> 2022-04-14
- today = date.today()
- # 明天 <class 'str'> 2022-04-15
- tomorrow = (date.today() + timedelta(days=1)).strftime("%Y-%m-%d")
- # 使用 logger 模块生成日志
- @staticmethod
- def logger(platform, mode):
- """
- 使用 logger 模块生成日志
- """
- # 日志路径
- log_dir = f"./log_store/{platform}/"
- log_path = os.getcwd() + os.sep + log_dir
- if not os.path.isdir(log_path):
- os.makedirs(log_path)
- # 日志文件名
- # log_name = time.strftime("%Y-%m-%d", time.localtime(time.time())) + f'-{crawler}-{log_type}.log'
- # log_name = datetime.datetime.now().strftime('%Y-%m-%d') + f'-{crawler}-{log_type}.log'
- # log_name = f"{date.today():%Y-%m-%d}-{crawler}-{log_type}.log"
- log_name = f"{platform}-{mode}-{datetime.now().date().strftime('%Y-%m-%d')}.log"
- # 日志不打印到控制台
- logger.remove(handler_id=None)
- # rotation="500 MB",实现每 500MB 存储一个文件
- # rotation="12:00",实现每天 12:00 创建一个文件
- # rotation="1 week",每周创建一个文件
- # retention="10 days",每隔10天之后就会清理旧的日志
- # 初始化日志
- # logger.add(f"{log_dir}{log_name}", level="INFO", rotation="00:00", retention="10 days", enqueue=True)
- logger.add(os.path.join(log_dir, log_name), level="INFO", rotation="00:00", retention="10 days", enqueue=True)
- return logger
|