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制作钉钉加密/解密工具
Dec 07 Python
Python复数属性和方法运算操作示例
Jul 21 Python
Python基于百度AI的文字识别的示例
Apr 21 Python
基于python的图片修复程序(实现水印去除)
Jun 04 Python
python 控制Asterisk AMI接口外呼电话的例子
Aug 08 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
Oct 12 Python
Mac 使用python3的matplot画图不显示的解决
Nov 23 Python
python实现控制台输出彩色字体
Apr 05 Python
python numpy矩阵信息说明,shape,size,dtype
May 22 Python
基于PyTorch的permute和reshape/view的区别介绍
Jun 18 Python
python数据可视化JupyterLab实用扩展程序Mito
Nov 20 Python
Python 避免字典和元组的多重嵌套问题
Jul 15 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
东方红 - 来复式再生机的修复
2021/03/02 无线电
mac下使用brew配置环境的步骤分享
2011/05/23 PHP
PHP实现绘制3D扇形统计图及图片缩放实例
2014/10/01 PHP
PHP判断一个gif图片是否为动态图片的方法
2014/11/19 PHP
php for 循环使用的简单实例
2016/06/02 PHP
php版阿里云OSS图片上传类详解
2016/12/01 PHP
PHP使用两个栈实现队列功能的方法
2018/01/15 PHP
PHP实现Huffman编码/解码的示例代码
2018/04/20 PHP
一些常用的JS功能函数(2009-06-04更新)
2009/06/04 Javascript
使用闭包对setTimeout进行简单封装避免出错
2013/07/10 Javascript
跟我学Nodejs(三)--- Node.js模块
2014/05/25 NodeJs
Angular JS数据的双向绑定详解及实例
2016/12/31 Javascript
js仿微博动态栏功能
2017/02/22 Javascript
vue监听scroll的坑的解决方法
2017/09/07 Javascript
Mongoose中document与object的区别示例详解
2017/09/18 Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
2019/10/28 Javascript
vue设置全局访问接口API地址操作
2020/08/14 Javascript
如何在JavaScript中正确处理变量
2020/12/25 Javascript
[04:47]DOTA2-潍坊风行电子俱乐部探秘
2014/08/08 DOTA
python入门之语句(if语句、while语句、for语句)
2015/01/19 Python
在Python中实现贪婪排名算法的教程
2015/04/17 Python
Python脚本暴力破解栅栏密码
2015/10/19 Python
Python机器学习之决策树算法
2017/12/22 Python
分析Python读取文件时的路径问题
2018/02/11 Python
pandas分区间,算频率的实例
2019/07/04 Python
python创建n行m列数组示例
2019/12/02 Python
python爬取王者荣耀全皮肤的简单实现代码
2020/01/31 Python
python中rb含义理解
2020/06/18 Python
英国著名的化妆品折扣网站:Allbeauty.com
2016/07/21 全球购物
Avène雅漾美国官方网站:敏感肌肤护理专家
2016/10/24 全球购物
中学生在校期间的自我评价分享
2013/11/13 职场文书
奶茶店创业计划书
2014/08/14 职场文书
委托书的写法
2014/08/30 职场文书
五四青年节活动总结
2015/02/10 职场文书
评职称个人总结
2015/03/05 职场文书
长征观后感
2015/06/09 职场文书