python 如何对logging日志封装


Posted in Python onDecember 02, 2020

作者:做梦的人(小姐姐)
出处: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.控制台输出

python 如何对logging日志封装

2.日志文件展示

创建目录

python 如何对logging日志封装

日志文件的写入

python 如何对logging日志封装

以上就是python 如何对logging日志封装的详细内容,更多关于python logging日志封装的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
高性能web服务器框架Tornado简单实现restful接口及开发实例
Jul 16 Python
浅谈python 四种数值类型(int,long,float,complex)
Jun 08 Python
Python生成随机数组的方法小结
Apr 15 Python
Python 按字典dict的键排序,并取出相应的键值放于list中的实例
Feb 12 Python
python实现电子产品商店
Feb 26 Python
python获取磁盘号下盘符步骤详解
Jun 19 Python
Django CSRF跨站请求伪造防护过程解析
Jul 31 Python
原来我一直安装 Python 库的姿势都不对呀
Nov 11 Python
解决jupyter notebook 前面书写后面内容消失的问题
Apr 13 Python
Keras之自定义损失(loss)函数用法说明
Jun 10 Python
Python利用命名空间解析XML文档
Aug 10 Python
Python实现制作销售数据可视化看板详解
Nov 27 Python
python3中确保枚举值代码分析
Dec 02 #Python
python使用yaml 管理selenium元素的示例
Dec 01 #Python
python3处理word文档实例分析
Dec 01 #Python
python3中布局背景颜色代码分析
Dec 01 #Python
python 读取yaml文件的两种方法(在unittest中使用)
Dec 01 #Python
Python用摘要算法生成token及检验token的示例代码
Dec 01 #Python
python录音并调用百度语音识别接口的示例
Dec 01 #Python
You might like
PHP中空字符串介绍0、null、empty和false之间的关系
2012/09/25 PHP
PHP使用fopen与file_get_contents读取文件实例分享
2016/03/04 PHP
php实现三级级联下拉框
2016/04/17 PHP
改变隐藏的input中value值的方法
2014/03/19 Javascript
js返回前一页刷新本页重载页面
2014/07/29 Javascript
Zepto实现密码的隐藏/显示
2017/04/07 Javascript
jquery append与appendTo方法比较
2017/05/24 jQuery
详解基于vue-cli优化的webpack配置
2017/11/06 Javascript
Vue多种方法实现表头和首列固定的示例代码
2018/02/02 Javascript
详解如何构建Promise队列实现异步函数顺序执行
2018/10/23 Javascript
Python中列表与元组的乘法操作示例
2018/02/10 Python
Python实现简单求解给定整数的质因数算法示例
2018/03/25 Python
Python基于多线程实现ping扫描功能示例
2018/07/23 Python
查看python下OpenCV版本的方法
2018/08/03 Python
python实现自动解数独小程序
2019/01/21 Python
python 的 scapy库,实现网卡收发包的例子
2019/07/23 Python
弄懂这56个Python使用技巧(轻松掌握Python高效开发)
2019/09/18 Python
python图片指定区域替换img.paste函数的使用
2020/04/09 Python
pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)
2020/05/09 Python
深入了解Python 变量作用域
2020/07/24 Python
matplotlib运行时配置(Runtime Configuration,rc)参数rcParams解析
2021/01/05 Python
Python爬虫制作翻译程序的示例代码
2021/02/22 Python
html5播放视频且动态截图实现步骤与代码(支持safari其他未测试)
2013/01/06 HTML / CSS
菲律宾旅游网站:Expedia菲律宾
2017/10/11 全球购物
.NET初级开发工程师面试题(包括Javascript)
2012/08/22 面试题
餐饮业的创业计划书范文
2013/12/26 职场文书
幼儿教师国培感言
2014/02/19 职场文书
爱心倡议书范文
2014/05/12 职场文书
市级优秀班主任事迹材料
2014/05/13 职场文书
销售会议开幕词
2015/01/28 职场文书
出国留学英文自荐信
2015/03/25 职场文书
2015年体育部工作总结
2015/04/02 职场文书
中学教师教学工作总结
2015/08/13 职场文书
《金钱的魔力》教学反思
2016/02/20 职场文书
学习师德师风的心得体会(2篇)
2019/10/08 职场文书
CSS3 天气图标动画效果
2021/04/06 HTML / CSS