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之使用Python操作数据库(1)
Nov 25 Python
python进程管理工具supervisor的安装与使用教程
Sep 05 Python
利用selenium 3.7和python3添加cookie模拟登陆的实现
Nov 20 Python
python实现桌面壁纸切换功能
Jan 21 Python
对python以16进制打印字节数组的方法详解
Jan 24 Python
Python Subprocess模块原理及实例
Aug 26 Python
Python3显示当前时间、计算时间差及时间加减法示例代码
Sep 07 Python
基于Python执行dos命令并获取输出的结果
Dec 30 Python
python编程进阶之类和对象用法实例分析
Feb 21 Python
Python DES加密实现原理及实例解析
Jul 17 Python
python 发送邮件的四种方法汇总
Dec 02 Python
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
Oct 16 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
Javascript 二维数组
2009/11/26 Javascript
web前端开发也需要日志
2010/12/09 Javascript
有关javascript的性能优化 (repaint和reflow)
2013/04/12 Javascript
jquery中文乱码的多种解决方法
2013/06/21 Javascript
JavaScript代码轻松实现网页内容禁止复制(代码简单)
2015/10/23 Javascript
再谈JavaScript异步编程
2016/01/27 Javascript
JQuery 传送中文乱码问题的简单解决办法
2016/05/24 Javascript
AngularJS 过滤器的简单实例
2016/07/27 Javascript
深入分析javascript中console命令
2016/08/14 Javascript
JS 实现Base64编码与解码实例详解
2016/11/07 Javascript
nodejs和C语言插入mysql数据库乱码问题的解决方法
2017/04/14 NodeJs
浅谈ECMAScript 中的Array类型
2019/06/10 Javascript
JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去
2019/07/23 Javascript
vue+element使用动态加载路由方式实现三级菜单页面显示的操作
2020/08/04 Javascript
小程序自定义圆形进度条
2020/11/17 Javascript
vue+elementui通用弹窗的实现(新增+编辑)
2021/01/07 Vue.js
小结Python用fork来创建子进程注意事项
2014/07/03 Python
python实现提取百度搜索结果的方法
2015/05/19 Python
Python数据结构之翻转链表
2017/02/25 Python
python matplotlib画图实例代码分享
2017/12/27 Python
python使用锁访问共享变量实例解析
2018/02/08 Python
快速解决安装python没有scripts文件夹的问题
2018/04/03 Python
Python利用heapq实现一个优先级队列的方法
2019/02/03 Python
Tensorflow中的降维函数tf.reduce_*使用总结
2020/04/20 Python
Python Mock模块原理及使用方法详解
2020/07/07 Python
德国、奥地利和瑞士最大的旅行和度假门户网站:HolidayCheck
2019/11/14 全球购物
Big Green Smile法国:领先的英国有机和天然产品在线商店
2021/01/02 全球购物
幼儿园元旦活动感言
2014/03/02 职场文书
新闻学专业大学生职业生涯规划范文
2014/03/02 职场文书
消防安全承诺书
2014/05/22 职场文书
商务考察邀请函模板
2015/02/02 职场文书
2015年高中班主任工作总结
2015/04/30 职场文书
2015年行风建设工作总结
2015/05/15 职场文书
导游词之新疆尼雅遗址
2019/10/16 职场文书
golang正则之命名分组方式
2021/04/25 Golang
Python+Selenium实现抖音、快手、B站、小红书、微视、百度好看视频、西瓜视频、微信视频号、搜狐视频、一点号、大风号、趣头条等短视频自动发布
2022/04/13 Python