python 如何对logging日志封装
程序员文章站
2022-03-17 23:16:07
作者:做梦的人(小姐姐)出处:因为最近在做平台,发现有同事,使用django封装了日志模块,看样子很简单,准备自己单独做了一个日志封装模板,对于python不熟练的我,封装部分参考了多个博主的内容,形...
作者:做梦的人(小姐姐)
出处:
因为最近在做平台,发现有同事,使用django封装了日志模块,看样子很简单,准备自己单独做了一个日志封装模板,对于python不熟练的我,封装部分参考了多个博主的内容,形成自己的日志模块,内容如下:
封装部分
创建一个logutil2的py文件
#!/usr/bin/env python # -*- coding: utf-8 -*- # @author: zhangjun # @date : 2018/7/26 9:20 # @desc : description import logging import logging.handlers import os import time class logs(object): def __init__(self): self.logger = logging.getlogger("") # 设置输出的等级 levels = {'noset': logging.notset, 'debug': logging.debug, 'info': logging.info, 'warning': logging.warning, 'error': logging.error, 'critical': logging.critical} # 创建文件目录 logs_dir="logs2" if os.path.exists(logs_dir) and os.path.isdir(logs_dir): pass else: os.mkdir(logs_dir) # 修改log保存位置 timestamp=time.strftime("%y-%m-%d",time.localtime()) logfilename='%s.txt' % timestamp logfilepath=os.path.join(logs_dir,logfilename) rotatingfilehandler = logging.handlers.rotatingfilehandler(filename =logfilepath, maxbytes = 1024 * 1024 * 50, backupcount = 5) # 设置输出格式 formatter = logging.formatter('[%(asctime)s] [%(levelname)s] %(message)s', '%y-%m-%d %h:%m:%s') rotatingfilehandler.setformatter(formatter) # 控制台句柄 console = logging.streamhandler() console.setlevel(logging.notset) console.setformatter(formatter) # 添加内容到日志句柄中 self.logger.addhandler(rotatingfilehandler) self.logger.addhandler(console) self.logger.setlevel(logging.notset) def info(self, message): self.logger.info(message) def debug(self, message): self.logger.debug(message) def warning(self, message): self.logger.warning(message) def error(self, message): self.logger.error(message)
2.调用模块
创建另外一个py文件
#!/usr/bin/env python # -*- coding: utf-8 -*- # @author: zhangjun # @date : 2018/7/26 9:21 # @desc : description import logging logger = logging.getlogger(__name__) import logutil2 if __name__ == '__main__': logger=logutil2.logs() logger.info("this is info") logger.debug("this is debug") logger.error("this is error") logger.warning("this is warning")
结果展示:
1.控制台输出
2.日志文件展示
创建目录
日志文件的写入
以上就是python 如何对logging日志封装的详细内容,更多关于python logging日志封装的资料请关注其它相关文章!