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操作sqlite3快速、安全插入数据(防注入)的实例
Apr 26 Python
Python编程中的文件读写及相关的文件对象方法讲解
Jan 19 Python
python结合shell查询google关键词排名的实现代码
Feb 27 Python
深入理解Django的中间件middleware
Mar 14 Python
Numpy中转置transpose、T和swapaxes的实例讲解
Apr 17 Python
python看某个模块的版本方法
Oct 16 Python
win7 x64系统中安装Scrapy的方法
Nov 18 Python
浅析python参数的知识点
Dec 10 Python
浅谈Python 多进程默认不能共享全局变量的问题
Jan 11 Python
Scrapy框架爬取Boss直聘网Python职位信息的源码
Feb 22 Python
python标准库OS模块函数列表与实例全解
Mar 10 Python
python和pywin32实现窗口查找、遍历和点击的示例代码
Apr 01 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数据库用户认证系统代码
2007/03/22 PHP
php站内搜索并高亮显示关键字的实现代码
2011/12/29 PHP
php实现读取和写入tab分割的文件
2015/06/01 PHP
[原创]php逐行读取txt文件写入数组的方法
2015/07/02 PHP
PHP基于文件存储实现缓存的方法
2015/07/20 PHP
php实现复制移动文件的方法
2015/07/29 PHP
PHP数组内存利用率低和弱类型详细解读
2017/08/10 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
List the Codec Files on a Computer
2007/06/18 Javascript
重写javascript中window.confirm的行为
2012/10/21 Javascript
推荐8款jQuery轻量级树形Tree插件
2014/11/12 Javascript
JQuery的常用选择器、过滤器、方法全面介绍
2016/05/25 Javascript
AngularJS表单验证中级篇(3)
2016/09/28 Javascript
mui上拉加载功能实例详解
2017/04/13 Javascript
React Native中NavigatorIOS组件的简单使用详解
2018/01/27 Javascript
使用vuex缓存数据并优化自己的vuex-cache
2018/05/30 Javascript
从理论角度讨论JavaScript闭包
2019/04/03 Javascript
Vue项目使用localStorage+Vuex保存用户登录信息
2019/05/27 Javascript
原生js实现随机点名功能
2019/11/05 Javascript
js面试题之异步问题的深入理解
2020/09/20 Javascript
Python自动调用IE打开某个网站的方法
2015/06/03 Python
Python内建模块struct实例详解
2018/02/02 Python
python实现linux下抓包并存库功能
2018/07/18 Python
Python pyinotify模块实现对文档的实时监控功能方法
2018/10/13 Python
python看某个模块的版本方法
2018/10/16 Python
对pyqt5多线程正确的开启姿势详解
2019/06/14 Python
Django框架之DRF 基于mixins来封装的视图详解
2019/07/23 Python
代码总结Python2 和 Python3 字符串的区别
2020/01/28 Python
python中文分词库jieba使用方法详解
2020/02/11 Python
美国电子产品折扣网站:Daily Steals
2017/05/20 全球购物
英国顶级足球鞋的领先零售商:Lovell Soccer
2019/08/27 全球购物
计算机专业优秀大学生自我总结
2014/01/21 职场文书
新闻编辑专业毕业自荐书范文
2014/02/05 职场文书
2015年世界环境日演讲稿
2015/03/18 职场文书
MySQL之PXC集群搭建的方法步骤
2021/05/25 MySQL
纯html+css实现打字效果
2021/08/02 HTML / CSS