python 如何对logging日志封装
作者:做梦的人(小姐姐)
出处: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日志封装的资料请关注脚本之家其它相关文章!
相关文章
关于Django使用 django-celery-beat动态添加定时任务的方法
本文给大家介绍Django使用 django-celery-beat动态添加定时任务的方法,安装对应的是celery版本,文中给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧2021-10-10Python+Requests+PyTest+Excel+Allure 接口自动化测试实战
本文主要介绍了Python+Requests+PyTest+Excel+Allure 接口自动化测试实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-02-02使用 Visual Studio Code(VSCode)搭建简单的Python+Djan
这篇文章主要介绍了使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-12-12Python机器学习k-近邻算法(K Nearest Neighbor)实例详解
这篇文章主要介绍了Python机器学习k-近邻算法(K Nearest Neighbor),结合实例形式分析了k-近邻算法的原理、操作步骤、相关实现与使用技巧,需要的朋友可以参考下2018-06-06
最新评论