美文网首页
python 封装log 日志类

python 封装log 日志类

作者: 洛丽塔的云裳 | 来源:发表于2020-04-26 14:48 被阅读0次

    在工作过程中,经常需要处理日志,以下封装一个日志类,进行日志记录

    # -*- coding:utf-8 -*-
    """
    """
    import os
    import sys
    import logging
    
    
    class Loggers(object):
        """
        日志处理类
        """
        def __init__(self, path, level=logging.DEBUG):
            """
            :param path: 日志路径
            :param level: 日志打印级别
            """
            # 创建一个日志器logger并设置其日志级别为DEBUG
            self.logger = logging.getLogger(path)
            self.logger.setLevel(logging.DEBUG)
    
            # 创建一个日志器logger并设置其日志级别为DEBUG
            handler = logging.StreamHandler(sys.stdout)
            handler.setLevel(logging.DEBUG)
    
            # 创建一个格式器formatter并将其添加到处理器handler
            formatter = logging.Formatter("%(asctime)s - %(levelname)s: %(message)s")
            handler.setFormatter(formatter)
    
            # 为日志器logger添加上面创建的处理器handler
            self.logger.addHandler(handler)
    
            # 设置文件日志
            file_handler = logging.FileHandler(path)
            file_handler.setFormatter(formatter)
            file_handler.setLevel(logging.DEBUG)
            self.logger.addHandler(file_handler)
    
        def debug(self, message):
            """
            :param message: debug信息
            :return:
            """
            self.logger.debug(message)
    
        def info(self, message):
            """
            :param message: info信息
            :return:
            """
            self.logger.info(message)
    
        def warn(self, message):
            """
            :param warn: warn 信息
            :return:
            """
            self.logger.warn(message)
    
        def critical(self, message):
            """
            :param message: critical 信息
            :return:
            """
            self.logger.critical(message)
    
        def error(self, message):
            """
            :param message: error 信息
            :return:
            """
            self.logger.error(message)
    
    
    if __name__ == "__main__":
        mylogger = Loggers('./mylog.log')
        mylogger.info('info……')
        mylogger.warn('warn……')
        mylogger.critical('critical……')
        mylogger.error('error……')
    
    

    测试使用:


    相关文章

      网友评论

          本文标题:python 封装log 日志类

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