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读取oracle函数返回值
Jul 18 Python
tf.truncated_normal与tf.random_normal的详细用法
Mar 05 Python
浅析python的优势和不足之处
Nov 20 Python
python3 property装饰器实现原理与用法示例
May 15 Python
基于python解线性矩阵方程(numpy中的matrix类)
Oct 21 Python
python爬虫爬取笔趣网小说网站过程图解
Nov 18 Python
python获取网络图片方法及整理过程详解
Dec 20 Python
python GUI库图形界面开发之PyQt5浏览器控件QWebEngineView详细使用方法
Feb 26 Python
Python爬取阿拉丁统计信息过程图解
May 12 Python
python 实现Harris角点检测算法
Dec 11 Python
python 递归相关知识总结
Mar 03 Python
Matplotlib绘制混淆矩阵的实现
May 27 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的计数器程序
2006/10/09 PHP
一个PHP的远程图片抓取函数分享
2013/09/25 PHP
getJSON跨域SyntaxError问题分析
2014/08/07 PHP
PHP实现的简易版图片相似度比较
2015/01/07 PHP
php+html5使用FormData对象提交表单及上传图片的方法
2015/02/11 PHP
在php和MySql中计算时间差的方法详解
2015/03/27 PHP
DOM节点的替换或修改函数replaceChild()用法实例
2015/01/12 Javascript
jquery实现上下左右滑动的方法
2015/02/09 Javascript
用javascript实现自动输出网页文本
2015/07/30 Javascript
jQuery实现下拉框多选 jquery-multiselect 的实例代码
2016/07/14 Javascript
基于jQuery实现瀑布流页面
2017/04/11 jQuery
Angular 2 ngForm中的ngModel、[ngModel]和[(ngModel)]的写法
2017/06/29 Javascript
webpack项目调试以及独立打包配置文件的方法
2018/02/28 Javascript
Vue中的slot使用插槽分发内容的方法
2018/03/01 Javascript
React为 Vue 引入容器组件和展示组件的教程详解
2018/05/03 Javascript
使用Vue父子组件通信实现todolist的功能示例代码
2019/04/11 Javascript
简单了解TypeScript中如何继承 Error 类
2019/06/21 Javascript
[02:34]DOTA2英雄基础教程 幽鬼
2014/01/02 DOTA
python调用shell的方法
2013/11/20 Python
python实现mysql的单引号字符串过滤方法
2015/11/14 Python
Python3.4实现从HTTP代理网站批量获取代理并筛选的方法示例
2017/09/26 Python
python爬虫之自动登录与验证码识别
2020/06/15 Python
关于pytorch多GPU训练实例与性能对比分析
2019/08/19 Python
python基于gevent实现并发下载器代码实例
2019/11/01 Python
python构造函数init实例方法解析
2020/01/19 Python
Python实现扫码工具的示例代码
2020/10/09 Python
英国泰坦旅游网站:全球陪同游览,邮轮和铁路旅行
2016/11/29 全球购物
国际知名军事风格休闲装品牌:Alpha Industries(阿尔法工业)
2017/05/24 全球购物
助人为乐表扬信范文
2014/01/14 职场文书
酒店餐厅2014重阳节活动策划方案
2014/09/16 职场文书
慰问信格式
2015/02/14 职场文书
2015秋季新学期开学寄语
2015/05/28 职场文书
七一晚会主持词
2015/06/29 职场文书
安全生产培训心得体会
2016/01/18 职场文书
80行代码写一个Webpack插件并发布到npm
2021/05/24 Javascript
实体类或对象序列化时,忽略为空属性的操作
2021/06/30 Java/Android