python模块-logging的智商上限

logging,故名肆意就是正在进行日志,我艹,这个文化底蕴!

logging是python内置的日志模块,便于日常程序的日志写入和输出

logging共分为5个日志等级,分别是:

debug , info , warning , error , critical (已按等级顺序排列)

其中info是在今后经常应用的日志等级,对于logging来说,默认等级是warning,换句话说就是等于或高于warning等级,才会进行输出,默认warning等级,会输出warning,error,critical等级

代码示例:

 1 # 编辑者:闫龙
 2 import logging
 3 logging.debug("debug")
 4 logging.info("info")#最为常用的输出等级
 5 logging.warning("warning")
 6 logging.error("error")
 7 logging.critical("critical")
 8
 9 #打印结果:
10 # WARNING:root:warning
11 # ERROR:root:error
12 # CRITICAL:root:critical

那么对于logging日志输出格式,和logging的等级配置要如何进行呢?

在logging中内置了两种方式进行操作,第一种是basicConfig,第二种是logger

那么这两种方式有什么区别呢?下面逐一解析:

第一种方式,baseConfig:

代码示例:

 1 # 编辑者:闫龙
 2 import logging
 3 logging.basicConfig(
 4     level=logging.DEBUG,#更改日志的默认等级为DEBUG
 5     format="%(asctime)s %(message)s",
 6     #format中的格式可以在basicConfig的说明文档中查看
 7     datefmt="%Y-%m-%d %H:%M:%S",
 8     #时间格式,秒原本为%s但在字符串中%s是占位符,所以这里必须使用%S来解决冲突问题
 9     filename="test.log",#日志文件
10     filemode="a"#文件操作方式为追加写入
11 )
12
13 logging.debug("debug message")
14 logging.info("info")#最为常用的输出等级
15 logging.warning("warning")
16 logging.error("error")
17 logging.critical("critical")
18
19 #test.log:
20 # 2017-04-30 18:41:23 debug message
21 # 2017-04-30 18:41:23 info
22 # 2017-04-30 18:41:23 warning
23 # 2017-04-30 18:41:23 error
24 # 2017-04-30 18:41:23 critical

其优势就是简单易操作,但缺点很多,比如无法屏幕和文件一起输出等,所以才有了第二种方式

第二种方式,logger:常用的日志配置方式

代码示例:

 1 # 编辑者:闫龙
 2 import logging
 3 logger = logging.getLogger() #实例化一个logger对象
 4 fh = logging.FileHandler("logger2")#实例化一个文件流对象fh
 5 sh = logging.StreamHandler()#实例化一个Stream流对象sh
 6 fm = logging.Formatter("%(asctime)s - %(message)s")
 7 #实例化一个日志格式对象,fm
 8 fh.setFormatter(fm)
 9 #将日志格式对象fm添加到fh对象中,让日志在进行文件输出时的格式是fm中定义的
10 logger.addHandler(fh)
11 #将文件流对象fh添加到logger对象中,让日志输出可以是文件流方式
12 logger.addHandler(sh)
13 #将文件流对象fh添加到logger对象中,让日志输出可以是Stream流方式
14 logger.debug("debug message")
15 logger.info("info")#最为常用的输出等级
16 logger.warning("warning")
17 logger.error("error")
18 logger.critical("critical")
19
20 #logger2:
21 # 2017-04-30 18:53:22,324 - warning
22 # 2017-04-30 18:53:22,324 - error
23 # 2017-04-30 18:53:22,324 - critical
24 # 2017-04-30 18:57:53,341 - warning
25 # 2017-04-30 18:57:53,341 - error
26 # 2017-04-30 18:57:53,342 - critical
27 #打印结果:
28 # warning
29 # error
30 # critical
31 # warning
32 # error
33 # critical

按照Yuan先生的理论,Logger配置方式,就像是吸星大法,就是一个吸的过程,你有什么我吸什么,这种方式确实很好理解

Logger方式将来我们要经常用到,所以一定要记住哦

时间: 2024-08-24 17:42:00

python模块-logging的智商上限的相关文章

Python模块-logging、序列化模块、re模块

MarkdownPad Document logging模块 import logging   logging.debug('debug message')   logging.info('info message')   logging.warning('warning message')   logging.error('error message')   logging.critical('critical message') 运行结果: C:\Python36\python.exe C:

Python模块-logging模块(一)

logging模块用来写日志文件 有5个级别,debug(),info(),warning(),error()和critical(),级别最高的为critical() debug()为调试模式,info()为正常情况下的信息,warning()为警告,error()为错误,critical()为严重问题 普通的打印 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" import logging logging.debug('The d

Python模块-logging模块(二)

logging模块记录日志有四个主要类:logger,handler,formatter,filter logger提供了应用程序可以直接使用的接口,每个程序在输出信息之前都要获得一个Logger handler将(logger创建的)日志记录发送到合适的目的输出,handler可以把信息输出到控制台,也可以把信息输出到文件,还可以把信息发送到网络上 formatter决定日志记录的最终输出格式 filter用来过滤日志记录,filter函数返回布尔值,logger根据返回的布尔值决定过滤的语句

python的logging日志模块(二)

晚上比较懒,直接搬砖了. 1.简单的将日志打印到屏幕 import logging logging.debug('This is debug message') logging.info('This is info message') logging.warning('This is warning message') 屏幕上打印:WARNING:root:This is warning message 默认情况下,logging将日志打印到屏幕,日志级别为WARNING: 日志级别大小关系为:

python模块之logging

在现实生活中,记录日志非常重要.银行转账时会有转账记录:飞机飞行过程中,会有黑盒子(飞行数据记录器)记录飞行过程中的一切.如果有出现什么问题,人们可以通过日志数据来搞清楚到底发生了什么.对于系统开发.调试以及运行,记录日志都是同样的重要.如果没有日志记录,程序崩溃时你几乎就没办法弄明白到底发生了什么事情.举个例子,当你在写一个服务器程序时,记录日志是非常有必要的.下面展示的就是 EZComet.com 服务器的日志文件截图. 服务崩溃后,如果没有日志,我几乎没办法知道到底发生了错误.日志不仅对于

python的logging模块

1.简单的将日志打印到屏幕 import logging logging.debug('This is debug message') logging.info('This is info message') logging.warning('This is warning message') 屏幕上打印: WARNING:root:Thisis warning message 默认情况下,logging将日志打印到屏幕,日志级别为WARNING: 日志级别大小关系为:CRITICAL > ER

python日志模块-logging

日志模块 logging logging模块主要可以根据自定义日志信息,在程序运行的时候将日志打印在终端及记录日志到文件中.在这先了解一下logging支持的日志五个级别 debug() 调试级别,一般用于记录程序运行的详细信息 info() 事件级别,一般用于记录程序的运行过程 warnning() 警告级别,,一般用于记录程序出现潜在错误的情形 error() 错误级别,一般用于记录程序出现错误,但不影响整体运行 critical 严重错误级别 , 出现该错误已经影响到整体运行 简单用法,将

Python之配置日志模块logging

一.定义日志打印方式 如果我们运行自己的程序,有时候需要记录程序运行过程中出现的问题或者信息.可以运用日志模块logging来记录,该模块日志格式可以根据用户需求来自己定义. 常见打印日志信息形式如下: import logging logging.debug("========定义要打印的内容====debug①===========") logging.info("=========定义要打印的内容====info②===========") logging.w

python - 常用模块 - logging模块

python主要是通过logging模块来进行日志处理 很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口, 你可以通过它存储各种格式的日志,logging的日志可以分为 debug(), info(), warning(), error(), critical() 5个级别, 日志级别: DEBUG INFO WARNING ERROR CRITICAL等级依次提高(打印的信息越来越少,DE