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.")

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

来源:https://www.cnblogs.com/ruigege0000/p/11286243.html

标签:python,logging,logger,解析
0
投稿

猜你喜欢

  • 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
  • asp之家 网络编程 m.aspxhome.com