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如何实现守护进程的方法示例
Feb 08 Python
python cx_Oracle模块的安装和使用详细介绍
Feb 13 Python
使用python绘制3维正态分布图的方法
Dec 29 Python
python导入pandas具体步骤方法
Jun 23 Python
Django单元测试工具test client使用详解
Aug 02 Python
浅谈Python中re.match()和re.search()的使用及区别
Apr 14 Python
python 字典item与iteritems的区别详解
Apr 25 Python
实现Python3数组旋转的3种算法实例
Sep 16 Python
Pycharm编辑器功能之代码折叠效果的实现代码
Oct 15 Python
详解pycharm的python包opencv(cv2)无代码提示问题的解决
Jan 29 Python
在python3.9下如何安装scrapy的方法
Feb 03 Python
python数字图像处理之对比度与亮度调整示例
Jun 28 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循环创建目录示例分享(php创建多级目录)
2014/03/04 PHP
php无序树实现方法
2015/07/28 PHP
PHP使用preg_split和explode分割textarea存放内容的方法分析
2017/07/03 PHP
用倒置滤镜把div倒置,再把table倒置。
2007/07/31 Javascript
Jquery知识点一 Jquery的ready和Dom的onload的区别
2011/01/15 Javascript
同域jQuery(跨)iframe操作DOM(示例代码)
2013/12/13 Javascript
JavaScript显示当前文档最后修改日期的方法
2015/03/19 Javascript
javascript中sort() 方法使用详解
2015/08/30 Javascript
ClearTimeout消除闪动实例代码
2016/02/29 Javascript
JS组件Bootstrap Table使用实例分享
2016/05/30 Javascript
angular.js分页代码的实例
2016/07/27 Javascript
js图片切换具体实现代码
2016/10/13 Javascript
微信小程序 数据交互与渲染实例详解
2017/01/21 Javascript
JS实现图片预览的两种方式
2017/06/27 Javascript
jquery ajaxfileupload异步上传插件
2017/11/21 jQuery
微信小程序scroll-view仿拼多多横向滑动滚动条
2020/04/21 Javascript
解决node-sass偶尔安装失败的方法小结
2018/12/05 Javascript
Vue唯一可以更改vuex实例中state数据状态的属性对象Mutation的讲解
2019/01/18 Javascript
微信小程序视图控件与bindtap之间的问题的解决
2019/04/08 Javascript
微信小程序canvas截取任意形状的实现代码
2020/01/13 Javascript
[04:45]上海特级锦标赛主赛事第三日TOP10
2016/03/05 DOTA
[47:43]Alliance vs KG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
python算法学习之桶排序算法实例(分块排序)
2013/12/18 Python
Python实现带百分比的进度条
2016/06/28 Python
Python中多线程的创建及基本调用方法
2016/07/08 Python
python opencv 简单阈值算法的实现
2019/08/04 Python
利用Tensorboard绘制网络识别准确率和loss曲线实例
2020/02/15 Python
PyQt5高级界面控件之QTableWidget的具体使用方法
2020/02/23 Python
python 线程的五个状态
2020/09/22 Python
什么是GWT的Entry Point
2013/08/16 面试题
大学生四个方面的自我评价
2013/09/19 职场文书
单位消防安全制度
2014/01/12 职场文书
社区春季防火方案
2014/06/02 职场文书
社区维稳工作方案
2014/06/06 职场文书
幼儿园小班教学反思
2016/03/03 职场文书
Python爬虫入门案例之爬取二手房源数据
2021/10/16 Python