Python logging设置和logger解析


Posted in Python onAugust 28, 2019

一、logging模块讲解

1.函数:logging.basicConfig()

参数讲解:

(1)level代表高于或者等于这个值时,那么我们才会记录这条日志

(2)filename代表日志会写在这个文件之中,如果没有这个字段则会显示在控制台上

(3)format代表我们的日志显示的格式自定义,如果字段为空,那么默认格式为:level:log_name:content

import logging
LOG_FORMAT = "%(asctime)s======%(levelname)s++++++(message)"
logging.basicConfig(filename="log1.txt",level=logging.WARNING,format=LOG_FORMAT)
logging.log(logging.INFO,"This is a INFO log")
logging.log(logging.ERROR,"This is a ERROR log.")

Python logging设置和logger解析

二、logging模块的处理流程

1.四大组件

(1)日志器(Logger):产生日志的一个接口。

(2)处理器(Handler):把产生的日志发送到相应的目的地。

(3)过滤器(Filter):更精细的控制那些日志输出。

(4)格式器(Formatter):对输出的信息进行格式化。

2.Logger

(1)产生一个日志

(2)操作

Logger.setLevel() #设置日志器将会处理的日志消息的最低严重级别

Logger.addHandler()

Logger.moveHander() #上面两个函数,为该logger对象添加和移除一个handler对象

Logger.addFilter()

Logger.removeFilter() #上面两个函数,为该logger对象添加和移除一个filter对象

Logger.debug: #产生一条debug级别的日志,同理,info,error的日志消息

Logger.exception #创建一个类似于Logger.error的日志消息

Logger.log() #获取一个明确的日志level参数类型创建一个日志记录

(3)如何得到一个logger对象

实例化;logging.getLogger()

3.Handler

(1)把log发送到指定位置

(2)方法

setLevel\setFormat\addFilter\removeFilter

(3)不需要直接使用,Handler是基类

logging.StreamHandler #将日志消息发送到输出到Stream。如std.out,std.err或任何file-like对

logging.FileHandler #将日志消息发送到磁盘文件。默认情况下文件大小会无限增长

logging.handlers.RotatongFileHandler #将日志消息发送到磁盘文件,并支持日志文件按大小切割

logging.handlers.TimeRotatingFileHandler #将日志消息发送到磁盘文件,并支持日志文件按时间切割

logging.handlers.HTTPHandler #将日志消息以GET或POST的方式发送到一个指定email地址

logging.NullHandler  #该Handler实例会忽略error message 通常想被想使用logging的library

三、源码

d23_2_logger_usage.py

地址:https://github.com/ruigege66/Python_learning/blob/master/d23_2_logger_usage.py

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中使用wxPython开发的一个简易笔记本程序实例
Feb 08 Python
Python生成器(Generator)详解
Apr 13 Python
详解Python中for循环的使用
Apr 14 Python
详解supervisor使用教程
Nov 21 Python
Python监控服务器实用工具psutil使用解析
Dec 19 Python
python实现的分析并统计nginx日志数据功能示例
Dec 21 Python
Python图像处理库PIL的ImageEnhance模块使用介绍
Feb 26 Python
使用Python合成图片的实现代码(图片添加个性化文本,图片上叠加其他图片)
Apr 30 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
Jul 02 Python
学习Python爬虫的几点建议
Aug 05 Python
Python实战之疫苗研发情况可视化
May 18 Python
Python通过loop.run_in_executor执行同步代码 同步变为异步
Apr 11 Python
Python shelve模块实现解析
Aug 28 #Python
解决python明明pip安装成功却找不到包的问题
Aug 28 #Python
Python 函数list&read&seek详解
Aug 28 #Python
Python collections模块使用方法详解
Aug 28 #Python
对python中的*args与**kwgs的含义与作用详解
Aug 28 #Python
关于python导入模块import与常见的模块详解
Aug 28 #Python
Python datetime包函数简单介绍
Aug 28 #Python
You might like
php读取图片内容并输出到浏览器的实现代码
2013/08/08 PHP
php实现使用正则将文本中的网址转换成链接标签
2014/12/03 PHP
常见PHP数据库解决方案分析介绍
2015/09/24 PHP
php对文件夹进行相关操作(遍历、计算大小)
2015/11/04 PHP
PHP远程连接oracle数据库操作实现方法图文详解
2019/04/11 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
2019/07/18 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
javascript中使用css需要注意的地方小结
2010/09/01 Javascript
固定背景实现的背景滚动特效示例分享
2013/05/19 Javascript
jquery 面包屑导航 具体实现
2013/06/05 Javascript
面向对象继承实例(a如何继承b问题)(自写)
2013/07/01 Javascript
jQuery获取(选中)单选,复选框,下拉框中的值
2014/02/21 Javascript
javascript:void(0)的问题使用探讨
2014/04/10 Javascript
js 获取浏览器版本以此来调整CSS的样式
2014/06/03 Javascript
值得分享的Bootstrap Ace模板实现菜单和Tab页效果
2015/12/30 Javascript
Bootstrap 附加导航(Affix)插件实例详解
2016/06/01 Javascript
微信小程序 新建登录页并实现tabBar隐藏
2017/06/13 Javascript
vue2.0开发入门笔记之.vue文件的生成和使用
2017/09/19 Javascript
AngularJs 禁止模板缓存的方法
2017/11/28 Javascript
JavaScript中 ES6变量的结构赋值
2018/07/10 Javascript
js使用cookie实现记住用户名功能示例
2019/06/13 Javascript
JavaScript 作用域实例分析
2019/10/02 Javascript
vue实现移动端返回顶部
2020/10/12 Javascript
Python如何生成树形图案
2018/01/03 Python
详解用Python实现自动化监控远程服务器
2019/05/18 Python
Python完全识别验证码自动登录实例详解
2019/11/24 Python
pygame库实现移动底座弹球小游戏
2020/04/14 Python
python装饰器原理与用法深入详解
2019/12/19 Python
Django多数据库配置及逆向生成model教程
2020/03/28 Python
文明美德伴我成长演讲稿
2014/05/12 职场文书
县政府领导班子“四风”方面突出问题整改措施
2014/09/23 职场文书
对照四风自我剖析材料
2014/10/07 职场文书
个人借条范本
2015/05/25 职场文书
领导视察通讯稿
2015/07/18 职场文书
JavaScript实现优先级队列
2021/12/06 Javascript
Github 使用python对copilot做些简单使用测试
2022/04/14 Python