美文网首页
Python 二次封装logging模块

Python 二次封装logging模块

作者: 顶宝麻麻 | 来源:发表于2021-01-04 16:29 被阅读0次
    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()
    
    

    相关文章

      网友评论

          本文标题:Python 二次封装logging模块

          本文链接:https://www.haomeiwen.com/subject/miuvoktx.html