Python logging设置和logger解析
作者:心悦君兮君不知-睿 时间:2021-07-15 22:12:52
一、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.")
二、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
来源:https://www.cnblogs.com/ruigege0000/p/11286243.html
标签:python,logging,logger,解析


猜你喜欢
Python实现新版正方系统滑动验证码识别
2022-11-08 09:14:32

Internet Explorer 8 Beta2 功能预览
2008-07-29 13:20:00

DenseNet121模型实现26个英文字母识别任务
2023-08-22 13:15:22
跨浏览器实现float:center,No CSS hacks
2008-08-22 12:59:00
python之mock模块基本使用方法详解
2022-03-05 03:10:33
详解MySQL从入门到放弃-安装
2024-01-12 16:24:50

Python字符串的索引与切片
2021-08-17 23:46:00
关于Python中object类特殊方法的解释
2023-08-31 22:19:24
python程序快速缩进多行代码方法总结
2022-12-06 03:30:38

代码讲解Python对Windows服务进行监控
2023-10-07 10:59:09
go第三方库sqlx操作MySQL及ORM原理
2024-01-18 21:12:32

escape,encodeURI,encodeURIComponent函数比较
2008-01-27 11:19:00
python3实现从kafka获取数据,并解析为json格式,写入到mysql中
2023-06-12 21:30:21
详解Python中的数据精度问题
2022-08-17 13:36:22

Python基于OpenCV的视频图像处理详解
2021-02-06 19:57:37

echarts折线图流动特效的实现全过程(非平滑曲线)
2024-05-02 16:28:55

关于PyQt5主窗口图标显示问题汇总
2022-03-27 08:23:18

pytorch 实现冻结部分参数训练另一部分
2023-06-14 16:43:10
python直接访问私有属性的简单方法
2022-09-18 12:03:47
java配置数据库连接池的方法步骤
2024-01-17 21:00:32