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 相关文章推荐
Python3基础之基本运算符概述
Aug 13 Python
跟老齐学Python之使用Python查询更新数据库
Nov 25 Python
Python中计算三角函数之cos()方法的使用简介
May 15 Python
在Python的Django框架中编写错误提示页面
Jul 22 Python
Python使用matplotlib实现绘制自定义图形功能示例
Jan 18 Python
Python3导入CSV文件的实例(跟Python2有些许的不同)
Jun 22 Python
对numpy Array [: ,] 的取值方法详解
Jul 02 Python
Python实现计算对象的内存大小示例
Jul 10 Python
Python浮点数四舍五入问题的分析与解决方法
Nov 19 Python
Django 项目布局方法(值得推荐)
Mar 22 Python
Python实现SMTP邮件发送
Jun 16 Python
python实现三次密码验证的示例
Apr 29 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&mysql(五)
2006/10/09 PHP
用PHP制作的意见反馈表源码
2007/03/11 PHP
php学习笔记之 函数声明(二)
2011/06/09 PHP
PHP5.3与5.5废弃与过期函数整理汇总
2014/07/10 PHP
php单链表实现代码分享
2016/07/04 PHP
PHP读取XML格式文件的方法总结
2017/02/27 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
2017/07/19 PHP
ecshop添加菜单及权限分配问题
2017/11/21 PHP
JavaScript的eval JSON object问题
2009/11/15 Javascript
jquery 操作DOM的基本用法分享
2012/04/05 Javascript
JavaScript中的作用域链和闭包
2012/06/30 Javascript
jQuery获取(选中)单选,复选框,下拉框中的值
2014/02/21 Javascript
详解Javascript动态操作CSS
2014/12/08 Javascript
60行js代码实现俄罗斯方块
2015/03/31 Javascript
jquery插件ajaxupload实现文件上传操作
2015/12/09 Javascript
微信小程序 for 循环详解
2016/10/09 Javascript
基于js实现的限制文本框只可以输入数字
2016/12/05 Javascript
关于AngularJs数据的本地存储详解
2017/01/20 Javascript
bootstrap-Treeview实现级联勾选
2017/11/23 Javascript
nodejs基于WS模块实现WebSocket聊天功能的方法
2018/01/12 NodeJs
微信小程序实现留言板功能
2018/11/02 Javascript
JS函数节流和防抖之间的区分和实现详解
2019/01/11 Javascript
javascript中数组的常用算法深入分析
2019/03/12 Javascript
layui table 获取分页 limit的方法
2019/09/20 Javascript
测试、预发布后用python检测网页是否有日常链接
2014/06/03 Python
Python 由字符串函数名得到对应的函数(实例讲解)
2017/08/10 Python
详解Python中的type和object
2018/08/15 Python
对python读写文件去重、RE、set的使用详解
2018/12/11 Python
Python 如何提高元组的可读性
2019/08/26 Python
用python拟合等角螺线的实现示例
2019/12/27 Python
Python Socket多线程并发原理及实现
2020/12/11 Python
护士的岗位职责
2013/12/04 职场文书
医学生个人求职信范文
2014/02/07 职场文书
给校长的建议书600字
2014/05/15 职场文书
住院医师规范化培训实施方案
2014/06/12 职场文书
军训口号
2014/06/13 职场文书