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的反射机制
Jun 28 Python
Python使用plotly绘制数据图表的方法
Jul 18 Python
Windows下anaconda安装第三方包的方法小结(tensorflow、gensim为例)
Apr 05 Python
python调用tcpdump抓包过滤的方法
Jul 18 Python
漂亮的Django Markdown富文本app插件的实现
Jan 02 Python
Python使用folium excel绘制point
Jan 03 Python
详解pandas的外部数据导入与常用方法
May 01 Python
Pytorch 抽取vgg各层并进行定制化处理的方法
Aug 20 Python
python实现输入三角形边长自动作图求面积案例
Apr 12 Python
Python验证码截取识别代码实例
May 16 Python
Python 处理日期时间的Arrow库使用
Aug 18 Python
详解Python中*args和**kwargs的使用
Apr 07 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实现随机生成易于记忆的密码
2015/06/19 PHP
详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)
2017/04/07 PHP
图片格式的JavaScript和CSS速查手册
2007/08/20 Javascript
基于jquery的分页控件(C#)
2011/01/06 Javascript
仅IE9/10同时支持script元素的onload和onreadystatechange事件分析
2011/04/27 Javascript
深入理解JavaScript系列(10) JavaScript核心(晋级高手必读篇)
2012/01/15 Javascript
js判断ie版本号的简单实现代码
2014/03/05 Javascript
Jquery选择器中使用变量实现动态选择例子
2014/07/25 Javascript
javascript实现类似java中getClass()得到对象类名的方法
2015/07/27 Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
2016/10/17 Javascript
jQuery插件HighCharts实现的2D回归直线散点效果示例【附demo源码下载】
2017/03/09 Javascript
js数字滑动时钟的简单实现(示例讲解)
2017/08/14 Javascript
JS Testing Properties 判断属性是否在对象里的方法
2017/10/01 Javascript
vue自定义过滤器创建和使用方法详解
2017/11/06 Javascript
vue+element-ui表格封装tag标签使用插槽
2020/06/18 Javascript
vue项目页面嵌入代码块vue-prism-editor的实现
2020/10/30 Javascript
分析python服务器拒绝服务攻击代码
2014/01/16 Python
Python的自动化部署模块Fabric的安装及使用指南
2016/01/19 Python
Fiddler如何抓取手机APP数据包
2016/01/22 Python
django连接mysql配置方法总结(推荐)
2018/08/18 Python
对python 自定义协议的方法详解
2019/02/13 Python
python assert的用处示例详解
2019/04/01 Python
Python sklearn库实现PCA教程(以鸢尾花分类为例)
2020/02/24 Python
利用CSS3的checked伪类实现OL的隐藏显示的方法
2010/12/18 HTML / CSS
全球知名旅游社区法国站点:TripAdvisor法国
2016/08/03 全球购物
信息技术专业个人自我评价
2013/12/11 职场文书
单位未婚证明范本
2014/01/18 职场文书
大学生自我鉴定范文模板
2014/01/21 职场文书
机械系毕业生求职信
2014/05/28 职场文书
2014年会计主管工作总结
2014/12/20 职场文书
养成教育主题班会
2015/08/13 职场文书
小学教师教学随笔
2015/08/14 职场文书
感恩信:写给爸爸妈妈的一封感谢信
2019/09/12 职场文书
vue中三级导航的菜单权限控制
2021/03/31 Vue.js
解决MySQL Varchar 类型尾部空格的问题
2022/04/06 MySQL
JS前端使用canvas实现物体的点选示例
2022/08/05 Javascript