python logging模块封装

#coding:utf-8

__author__ = 'RnineT'

import logging

class Mylogging(object):
    def __init__(self):
        file = '/Users/chen/Develop/red-packet/files/app.log'
        self.logger = logging.getLogger()   # 声明了一个 Logger 对象,它就是日志输出的主类,调用对象的 info() 方法就可以输出 INFO 级别的日志信息
        self.logger.setLevel(level=logging.INFO)    # 设置输出日志等级,只会输出大于等于INFO级别的日志

        file_handler = logging.FileHandler(filename=file)   # 向文件file输出日志信息
        file_handler.setLevel(level=logging.INFO)

        formatter = logging.Formatter("%(asctime)s - %(filename)s - %(levelname)s - %(message)s")   # 设置格式对象
        file_handler.setFormatter(formatter)

        # 给logger对象添加对应的handler对象
        self.logger.addHandler(file_handler)

# 日志操作对象logger,这里设置为单例,则凡是需要使用logging对象的地方都共同这个logger,节省内存开销
mylogger = Mylogging().logger

if __name__ == '__main__':
    mylogger.debug("debug")
    mylogger.info("这是info")
    mylogger.warning("这是warn")

猜你喜欢

转载自blog.csdn.net/muskjp/article/details/108126407