• logging模块封装


    logging模块封装

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    import datetime
    import logging
    import env
    
    
    class Log(object):
        def __init__(self):
            self.log_name = env.LOG_PATH + datetime.datetime.now().strftime("%Y-%m-%d") + ".log"
            self.logger = logging.getLogger(__name__)
            self.logger.setLevel(level=logging.DEBUG)
            self.formatter = logging.Formatter('%(asctime)s %(filename)s --> %(funcName)s %(levelno)s:  %(levelname)s ----->%(message)s')
    
        def __console(self, level, message):
            # 创建一个FileHandler,用于写到本地
            fh = logging.FileHandler(self.log_name, 'a', encoding='utf-8')  # 这个是python3的
            fh.setLevel(logging.DEBUG)
            fh.setFormatter(self.formatter)
            self.logger.addHandler(fh)
    
            # 创建一个StreamHandler,用于输出到控制台
            # ch = logging.StreamHandler()
            # ch.setLevel(logging.DEBUG)
            # ch.setFormatter(self.formatter)
            # self.logger.addHandler(ch)
    
            if level == 'info':
                self.logger.info(message)
            elif level == 'debug':
                self.logger.debug(message)
            elif level == 'warning':
                self.logger.warning(message)
            elif level == 'error':
                self.logger.error(message)
            # 这两行代码是为了避免日志输出重复问题
            # self.logger.removeHandler(ch)
            self.logger.removeHandler(fh)
            # 关闭打开的文件
            fh.close()
            # ch.close()
    
        def debug(self, message):
            self.__console('debug', message)
    
        def info(self, message):
            self.__console('info', message)
    
        def warning(self, message):
            self.__console('warning', message)
    
        def error(self, message):
            self.__console('error', message)
  • 相关阅读:
    redis:高可用分析
    mysql:explain分析sql
    python中注意事项(更新)
    jupyter使用小技巧(更新)
    Jupyter中的快捷键
    Excel制作甘特图
    Vim编辑器常用命令
    Mysql主从
    常用MySql命令
    进程与线程的一个简单解释
  • 原文地址:https://www.cnblogs.com/lvchengda/p/12613987.html
Copyright © 2020-2023  润新知