Python连载28-logging设置&logger解析
一、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
2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)
3.博客园:https://www.cnblogs.com/ruigege0000/
4.欢迎关注微信公众号:傅里叶变换

Python连载28-logging设置&logger解析的更多相关文章
- python中利用logging包进行日志记录时的logging.level设置选择
之前在用python自带的logging包进行日志输出的时候发现有些logging语句没有输出,感到比较奇怪就去查了一下logging文档.然后发现其在设置和引用时的logging level会影响最 ...
- python(八)内置模块logging/os/time/sys/json/pickle
模块 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护.为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少 ...
- Python中的logging模块
http://python.jobbole.com/86887/ 最近修改了项目里的logging相关功能,用到了python标准库里的logging模块,在此做一些记录.主要是从官方文档和stack ...
- python模块之logging
在现实生活中,记录日志非常重要.银行转账时会有转账记录:飞机飞行过程中,会有黑盒子(飞行数据记录器)记录飞行过程中的一切.如果有出现什么问题,人们可以通过日志数据来搞清楚到底发生了什么.对于系统开发. ...
- Python自学笔记-logging模块详解
简单将日志打印到屏幕: import logging logging.debug('debug message') logging.info('info message') logging.warni ...
- Python日志模块logging用法
1.日志级别 日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRITICAL. DEBUG:详细的信息,通常只出现在诊断问题上 INFO:确认一切按预期运行 ...
- Python中的logging模块【转】https://www.cnblogs.com/yelin/p/6600325.html
[转]https://www.cnblogs.com/yelin/p/6600325.html 基本用法 下面的代码展示了logging最基本的用法. 1 # -*- coding: utf-8 -* ...
- 日志汇总:logging、logger
目录 1.日志输出到文件 2.日志输出到屏幕 3.设置输出等级 4.设置多个日志输出对象 5.日志的配置 6.记录异常 7.设置日志输出样式 1.日志输出到文件basicConfig()提供了非常便捷 ...
- python 的日志logging模块
1.简单的将日志打印到屏幕 import logging logging.debug('This is debug message')logging.info('This is info messag ...
随机推荐
- SAP-简单的OALV演示练习
接上一篇传统ALV:https://www.cnblogs.com/BruceKing/p/11320165.html. 首先介绍下什么是ALV,在R/3 4.6C之前ALV全称为ABAP List ...
- RFC的远程调用-异步
接上篇RFC的远程调用-同步(https://www.cnblogs.com/BruceKing/p/11169930.html). TABLES:USR21. DATA:A TYPE USR21-P ...
- ArcGIS Server 地图发布请求分析
1.1. 数据上传 请求 URL: https://172.16.2.17:6443/arcgis/admin/uploads/upload POST Location: ...
- 避免HBase PageFilter踩坑,这几点你必须要清楚
有这样一个场景,在HBase中需要分页查询,同时根据某一列的值进行过滤. 不同于RDBMS天然支持分页查询,HBase要进行分页必须由自己实现.据我了解的,目前有两种方案, 一是<HBase权威 ...
- python3之二年级上数学练习题生成
二年级上数学练习题生成 作为一个家长不容易啊 1 #coding:utf-8 2 import random 3 #小学二年级上数学练习(100以内加减乘) 4 #生成的题数 5 count = 50 ...
- centos7.2下安装mysql5.7数据库
服务器上的mysql安装了一个8.0.12版本的,本地的是一个5.7版本的,今天删除了重新安装的5.7版本的,下面是所有的名命令 跟着走就会安装上了. 配置源 wget http://dev.my ...
- nodejs实现简单爬虫
nodejs结合cheerio实现简单爬虫 let cheerio = require("cheerio"), fs = require("fs"), util ...
- requests---HTTPS请求
做过接口测试的都会发现,现在的接口都是HTTPS协议了,今天就写一篇如何通过request发送https请求,如果不是很了解HTTP协议的同学可以看下我的另外一篇博客什么是HTTP 什么是HTTPS ...
- UGUI 逻辑以及实用性辅助功能
UGUI 有它的实用性, 可是也存在理解上的困难, 因为它在面板上的显示内容根据布局而变动, 如果不深入理解它的设计原理, 估计每次要进行程序上的修改都需要进行一次换算和测试过程. 1. 设置某UI的 ...
- AssetBundleMaster_ReadMe_EN
Before we start use it, you'd better import it to an empty project, following the ReadMe to learn th ...