| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import logging
- import os
- from logging.handlers import RotatingFileHandler
- from setting import LOG_FILE, LOG_LEVEL, LOG_FORMAT, LOG_DIR
- class PPLogger(logging.Logger):
- def __init__(self, name, level=logging.NOTSET):
- super().__init__(name, level)
- def setup_logger(self, log_file=LOG_FILE, log_level=LOG_LEVEL, log_format=None, max_bytes=5 * 1024 * 1024,
- backup_count=5):
- # 设置日志格式
- if log_format is None:
- log_format = LOG_FORMAT
- formatter = logging.Formatter(log_format)
- # 设置日志级别
- self.setLevel(log_level)
- # 创建日志目录
- log_dir = LOG_DIR
- if not os.path.exists(log_dir):
- os.makedirs(log_dir)
- # 日志文件的路径
- log_path = os.path.join(log_dir, log_file)
- # 创建文件处理器
- file_handler = RotatingFileHandler(log_path, maxBytes=max_bytes, backupCount=backup_count)
- file_handler.setLevel(log_level)
- file_handler.setFormatter(formatter)
- # 添加处理器到日志器
- self.addHandler(file_handler)
- # 创建控制台处理器,并设置级别
- console_handler = logging.StreamHandler()
- console_handler.setLevel(log_level)
- console_handler.setFormatter(formatter)
- # 添加处理器到logger
- self.addHandler(console_handler)
|