作者:做梦的人(小姐姐)
出处:https://www.cnblogs.com/chongyou/
因为最近在做平台,发现有同事,使用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日志封装的资料请关注自学编程网其它相关文章!