Python 二次封装logging模块

import os
import time
import logging


class MyLogger(object):
    def __init__(self):
        # 第一步: 创建一个日志收集器对象logger
        self.logger = logging.getLogger("my_logger")
        self.logger.setLevel(logging.DEBUG)

        # 第二步: 创建日志输出渠道,并设置等级
        # 1. 输出到控制台
        sh = logging.StreamHandler()
        sh.setLevel(logging.INFO)
        # 2. 输出到日志文件
        rq = time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime((time.time())))
        log_name = rq + '.log'
        log_path = os.path.join(os.path.abspath('../'), 'log', log_name)
        fh = logging.FileHandler(log_path)
        fh.setLevel(logging.INFO)

        # 第三步:指定日志输出格式
        formatter = logging.Formatter("[%(asctime)s][%(filename)s-->line:%(lineno)d][%(levelname)s] %(message)s")
        sh.setFormatter(formatter)
        fh.setFormatter(formatter)

        # 第四步: 添加日志输出渠道到日志收集器中
        self.logger.addHandler(sh)
        self.logger.addHandler(fh)

        return self.logger


# 创建一个日志收集器对象
my_logger = MyLogger()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容