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脚本将文字转换为图片的实例分享
Aug 29 Python
Python 专题六 局部变量、全局变量global、导入模块变量
Mar 20 Python
Python 实现12306登录功能实例代码
Feb 09 Python
解决Django数据库makemigrations有变化但是migrate时未变动问题
May 30 Python
Python读取mat文件,并转为csv文件的实例
Jul 04 Python
python中使用print输出中文的方法
Jul 16 Python
对Python生成汉字字库文字,以及转换为文字图片的实例详解
Jan 29 Python
python中如何使用分步式进程计算详解
Mar 22 Python
python3用PIL把图片转换为RGB图片的实例
Jul 04 Python
Python笔记之观察者模式
Nov 20 Python
Python 实现训练集、测试集随机划分
Jan 08 Python
Python文件时间操作步骤代码详解
Apr 13 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
国内咖啡文化
2021/03/03 咖啡文化
shopex主机报错误请求解决方案(No such file or directory)
2011/12/27 PHP
js实现简单模态窗口,背景灰显
2008/11/14 Javascript
用正则表达式 动态创建/增加css style script 兼容IE firefox
2009/03/10 Javascript
javascript基础第一章 JavaScript与用户端
2010/07/22 Javascript
Textbox控件注册回车事件及触发按钮提交事件具体实现
2013/03/04 Javascript
jQuery选择器全集详解
2014/11/24 Javascript
MVVM模式中ViewModel和View、Model有什么区别?
2015/06/19 Javascript
JS截取字符串实例详解
2015/11/24 Javascript
JavaScript定时器实现的原理分析
2016/12/06 Javascript
ndm:NPM的桌面GUI应用程序
2018/10/15 Javascript
使用Angular Cli如何创建Angular私有库详解
2019/01/30 Javascript
Layui给switch添加响应事件的例子
2019/09/03 Javascript
小程序实现可拖动的悬浮按钮
2020/09/07 Javascript
JavaScript实现鼠标移入随机变换颜色
2020/11/24 Javascript
js实现扫雷源代码
2020/11/27 Javascript
Python 时间处理datetime实例
2008/09/06 Python
在Python 3中实现类型检查器的简单方法
2015/07/03 Python
Python3字符串学习教程
2015/08/20 Python
pycharm安装图文教程
2017/05/02 Python
Python设计模式之命令模式简单示例
2018/01/10 Python
python使用pipeline批量读写redis的方法
2019/02/18 Python
详解Python3之数据指纹MD5校验与对比
2019/06/11 Python
python能做什么 python的含义
2019/10/12 Python
使用Keras加载含有自定义层或函数的模型操作
2020/06/10 Python
CSS3中媒体查询结合rem布局适配手机屏幕
2019/06/10 HTML / CSS
Answear匈牙利:来自全球200多个知名时尚品牌
2017/04/21 全球购物
教师个人的自我评价分享
2014/01/02 职场文书
大学生学习2014全国两会心得体会
2014/03/13 职场文书
新农村建设汇报材料
2014/08/15 职场文书
合伙经营协议书范本
2014/09/13 职场文书
反四风对照检查材料思想汇报
2014/09/16 职场文书
《微笑着面对生活》优秀演讲稿范文
2014/09/23 职场文书
高中生毕业评语
2014/12/30 职场文书
2016年党员岗位承诺书
2016/03/24 职场文书
redis哨兵常用命令和监控示例详解
2021/05/27 Redis