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的加密模块md5、sha、crypt使用实例
Sep 28 Python
Python中的多重装饰器
Apr 11 Python
python动态性强类型用法实例
May 09 Python
Python复制Word内容并使用格式设字体与大小实例代码
Jan 22 Python
Python cookbook(数据结构与算法)通过公共键对字典列表排序算法示例
Mar 15 Python
python 寻找list中最大元素对应的索引方法
Jun 28 Python
Python里字典的基本用法(包括嵌套字典)
Feb 27 Python
Python Matplotlib实现三维数据的散点图绘制
Mar 19 Python
python系列 文件操作的代码
Oct 06 Python
python中利用matplotlib读取灰度图的例子
Dec 07 Python
PyTorch在Windows环境搭建的方法步骤
May 12 Python
Python+Opencv身份证号码区域提取及识别实现
Aug 25 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获取当前url路径的函数以及服务器变量
2013/06/29 PHP
PHP实现清除wordpress里恶意代码
2015/10/21 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
2017/08/04 PHP
简单的js图片轮换代码(js图片轮播)
2014/05/06 Javascript
JS获取当前日期时间并定时刷新示例
2021/03/04 Javascript
Angularjs编写KindEditor,UEidtor,jQuery指令
2015/01/28 Javascript
js+css简单实现网页换肤效果
2015/12/29 Javascript
基于jQuery实现仿搜狐辩论投票动画代码(附源码下载)
2016/02/18 Javascript
第一次接触JS require.js模块化工具
2016/04/17 Javascript
JavaScript中Hoisting详解 (变量提升与函数声明提升)
2017/08/18 Javascript
web前端页面生成exe可执行文件的方法
2018/02/08 Javascript
vue源码学习之Object.defineProperty 对数组监听
2018/05/30 Javascript
angularJs利用$scope处理升降序的方法
2018/10/08 Javascript
JS字典Dictionary类定义与用法示例
2019/02/01 Javascript
小程序实现左滑删除效果
2019/07/25 Javascript
Vue.js下拉菜单组件使用方法详解
2019/10/19 Javascript
微信小程序自定义模态弹窗组件详解
2019/12/24 Javascript
Python实现自动添加脚本头信息的示例代码
2016/09/02 Python
python脚本作为Windows服务启动代码详解
2018/02/11 Python
tensorflow 使用flags定义命令行参数的方法
2018/04/23 Python
python 自动去除空行的实例
2018/07/24 Python
浅述python中深浅拷贝原理
2018/09/18 Python
用python生成1000个txt文件的方法
2018/10/25 Python
Python多进程写入同一文件的方法
2019/01/14 Python
python 实现两个线程交替执行
2020/05/02 Python
Python使用Paramiko控制liunx第三方库
2020/05/20 Python
matplotlib bar()实现百分比堆积柱状图
2021/02/24 Python
Html5新增标签有哪些
2017/04/13 HTML / CSS
SCDKey德国:全球领先的数字游戏市场
2019/04/09 全球购物
新领导上任欢迎词
2014/01/13 职场文书
运动会邀请函范文
2014/02/06 职场文书
期中考试后的感想
2015/08/07 职场文书
高中班主任培训心得体会
2016/01/07 职场文书
敬业奉献模范事迹材料(2016精选版)
2016/02/26 职场文书
创业计划书之家教托管
2019/09/25 职场文书
Nginx性能优化之Gzip压缩设置详解(最大程度提高页面打开速度)
2022/02/12 Servers