Python/utils/logger.py

58 lines
1.3 KiB
Python

# -*- coding: utf-8 -*-
"""
基于LOGGING封装日志记录器
"""
# 加载模块
import logging
from logging.handlers import RotatingFileHandler
"""
类说明:封装日志记录器
"""
class Logger(object):
def __init__(self, log_name: str):
# 日志文件名称
self.log_name = f"{log_name}.log"
# 创建日志记录器
self.logger = logging.getLogger(self.log_name)
self.logger.setLevel(logging.INFO)
# 设置日志信息格式
self.formatter = logging.Formatter(
"%(asctime)s - %(levelname)s - %(message)s", datefmt="%y-%m-%d %H:%M:%S"
)
# 控制台输出
self.stream_handle = logging.StreamHandler()
self.stream_handle.setLevel("INFO")
self.stream_handle.setFormatter(self.formatter)
# 文件输出
self.file_handle = RotatingFileHandler(
filename=self.log_name, maxBytes=5 * 1024 * 1024, encoding="utf-8"
)
self.file_handle.setLevel("INFO")
self.file_handle.setFormatter(self.formatter)
# 添加控制台和文件日志记录
if not self.logger.handlers:
self.logger.addHandler(self.stream_handle)
self.logger.addHandler(self.file_handle)
def log(self, message):
return self.logger.info(message)