• 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)
  • 相关阅读:
    es5核心技术
    es6 迭代器 和 生成器 学习笔记
    nodejs 基础学习笔记
    node 基本原理
    mac php7 连接数据库遇到的问题
    express ,koa1, koa2学习笔记
    mac mysql的安装
    webpack 给css添加前缀
    利用git将本地的代码同步到github上
    vuex 学习总结及demo
  • 原文地址:https://www.cnblogs.com/lvchengda/p/12613987.html
Copyright © 2020-2023  润新知