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 3利用BeautifulSoup抓取div标签的方法示例
May 28 Python
Python中利用xpath解析HTML的方法
May 14 Python
Python3爬虫学习之将爬取的信息保存到本地的方法详解
Dec 12 Python
Django利用cookie保存用户登录信息的简单实现方法
May 27 Python
python3 打印输出字典中特定的某个key的方法示例
Jul 06 Python
Django Rest framework三种分页方式详解
Jul 26 Python
用python中的matplotlib绘制方程图像代码
Nov 21 Python
Numpy与Pytorch 矩阵操作方式
Dec 27 Python
Python中remove漏删和索引越界问题的解决
Mar 18 Python
opencv 实现特定颜色线条提取与定位操作
Jun 02 Python
Python reques接口测试框架实现代码
Jul 28 Python
python利用 keyboard 库记录键盘事件
Oct 16 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通用分页类page.php[仿google分页]
2008/08/31 PHP
PHP常用处理静态操作类
2015/04/03 PHP
Yii2框架操作数据库的方法分析【以mysql为例】
2019/05/27 PHP
PHP7数组的底层实现示例
2019/08/25 PHP
JS+css 图片自动缩放自适应大小
2013/08/08 Javascript
jQuery实现异步获取json数据的2种方式
2014/08/29 Javascript
JS实现的网页倒计时数字时钟效果
2015/03/02 Javascript
javascript实现的网站访问量统计代码
2015/12/20 Javascript
html+js+highcharts绘制圆饼图表的简单实例
2016/08/04 Javascript
vuejs通过filterBy、orderBy实现搜索筛选、降序排序数据
2020/10/26 Javascript
详解JavaScript 的变量
2019/03/08 Javascript
Vue-Cli项目优化操作的实现
2019/10/27 Javascript
js仿360开机效果
2019/12/26 Javascript
在react中使用vue的状态管理的方法示例
2020/05/02 Javascript
[02:28]DOTA2亚洲邀请赛附加赛 RECAP赛事回顾
2015/01/29 DOTA
[01:03:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第一场 1月29日
2021/03/11 DOTA
python实现360皮肤按钮控件示例
2014/02/21 Python
python如何求解两数的最大公约数
2018/09/27 Python
Python Cookie 读取和保存方法
2018/12/28 Python
python如何实现不用装饰器实现登陆器小程序
2019/12/14 Python
tensorflow 获取checkpoint中的变量列表实例
2020/02/11 Python
python numpy实现rolling滚动案例
2020/06/08 Python
使用Python绘制台风轨迹图的示例代码
2020/09/21 Python
Python实现七个基本算法的实例代码
2020/10/08 Python
C语言如何决定使用那种整数类型
2016/11/26 面试题
学校后勤人员职责
2013/12/27 职场文书
公司财务流程之主管工作流程
2014/03/03 职场文书
旅游市场营销方案
2014/03/09 职场文书
公司年会策划方案
2014/05/17 职场文书
党员公开承诺书内容
2014/05/20 职场文书
美德少年事迹材料1000字
2014/08/21 职场文书
家属答谢词
2015/01/05 职场文书
幼儿园综治宣传月活动总结
2015/05/07 职场文书
2015年初三班主任工作总结
2015/05/21 职场文书
2015年社区党建工作汇报材料
2015/06/25 职场文书
Django显示可视化图表的实践
2021/05/10 Python