【技术人文】Python的一个LOG类封装

#!/usr/bin/env python
# coding=utf-8

import logging
import logging.handlers
import sys


class CLog(object):
    def __init__(self):
        self.m_Logger = logging.getLogger()
        self.m_Logger.setLevel(logging.NOTSET)
        self.m_Formatter = logging.Formatter("[%(asctime)s]|%(levelname)s|%(process)d|%(thread)d|%(filename)s|%(lineno)s|%(funcName)s|%(message)s")

        # 默认先输出到控制台
        tHandler = logging.StreamHandler(sys.stdout)
        tHandler.setFormatter(self.m_Formatter)
        self.m_Logger.addHandler(tHandler)

    def Load(self, strPath, strLogLevel, iLogCount):
        mapLevel = {"debug": logging.DEBUG, "normal": logging.INFO, "warning": logging.WARNING, "error": logging.ERROR}
        iLevel = mapLevel.get(strLogLevel, logging.DEBUG)

        tHandler = logging.handlers.TimedRotatingFileHandler(filename=strPath, when="midnight", backupCount=iLogCount, encoding="utf-8")
        tHandler.setFormatter(self.m_Formatter)
        tHandler.setLevel(iLevel)

        self.m_Logger.addHandler(tHandler)

    @property
    def Debug(self):
        return self.m_Logger.debug

    @property
    def Normal(self):
        return self.m_Logger.info

    @property
    def Warning(self):
        return self.m_Logger.warning

    @property
    def Error(self):
        return self.m_Logger.error


gLogger = CLog()

'''
# 使用演示
if __name__ == "__main__":
    gLogger.Load("test.log","debug",0)
    try:
        doSomething()
    except Exception, args:
        gLogger.Error(args, exc_info=True)
'''


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值