python log2_Python(2)封装log方法

importloggingimportosimporttime

LEVELS={'debug': logging.DEBUG,'info': logging.INFO,'warning': logging.WARNING,'error': logging.ERROR,'critical': logging.CRITICAL

}

logger=logging.getLogger()

level= 'default'

defcreate_file(filename):

path= filename[0:filename.rfind('/')]if notos.path.isdir(path):

os.makedirs(path)if notos.path.isfile(filename):

fd= open(filename, mode='w', encoding='utf-8')

fd.close()else:pass

defset_handler(levels):if levels == 'error':

logger.addHandler(MyLog.err_handler)

logger.addHandler(MyLog.handler)defremove_handler(levels):if levels == 'error':

logger.removeHandler(MyLog.err_handler)

logger.removeHandler(MyLog.handler)defget_current_time():returntime.strftime(MyLog.date, time.localtime(time.time()))classMyLog:

path= os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

log_file= path+'/log/'+time.strftime('%Y_%m_%d')+'_log.log'err_file= path+'/log/'+time.strftime('%Y_%m_%d')+'_err.log'logger.setLevel(LEVELS.get(level, logging.NOTSET))

create_file(log_file)

create_file(err_file)

date= '%Y-%m-%d %H:%M:%S'handler= logging.FileHandler(log_file, encoding='utf-8')

err_handler= logging.FileHandler(err_file, encoding='utf-8')

@staticmethoddefdebug(log_meg):

set_handler('debug')

logger.debug("[DEBUG" + get_current_time() + "]" +log_meg)

remove_handler('debug')

@staticmethoddefinfo(log_meg):

set_handler('info')

logger.info("[INFO" + get_current_time() + "]" +log_meg)

remove_handler('info')

@staticmethoddefwarning(log_meg):

set_handler('warning')

logger.warning("[WARNING" + get_current_time() + "]" +log_meg)

remove_handler('warning')

@staticmethoddeferror(log_meg):

set_handler('error')

logger.error("[ERROR" + get_current_time() + "]" +log_meg)

remove_handler('error')

@staticmethoddefcritical(log_meg):

set_handler('critical')

logger.error("[CRITICAL" + get_current_time() + "]" +log_meg)

remove_handler('critical')if __name__ == "__main__":

MyLog.debug("This is debug message")

MyLog.info("This is info message")

MyLog.warning("This is warning message")

MyLog.error("This is error")

MyLog.critical("This is critical message")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值