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方式将来我们要经常用到,所以一定要记住哦

转载于:https://www.cnblogs.com/DragonFire/p/6790113.html

python模块-logging的智商上限相关推荐

  1. python模块-logging和collections以及random模块

    主要内容: 1.logging高级 2.collections 模块 3.random模块 1.logging高级 logging基本的示例如下: import logging logging.bas ...

  2. Python的日志模块logging的使用

    Python的日志模块logging的使用 1 logging模块介绍 2 logging 简单示例 3 logging.basicConfig() 4 logging组件 4.1 Logger类 4 ...

  3. python基础——logging、OS、sys、random、string模块(0424)

    2019独角兽企业重金招聘Python工程师标准>>> 一.日志记录模块  logging logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等 ...

  4. Python之配置日志模块logging

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

  5. python logging模块的作用_Python 日志模块logging分析及使用-2

    本文作为Python日志模块的补充,主要介绍日志回滚RotatingFileHandler和TimedRotatingFileHandler的使用,以及其所带来的问题.Logger对象的日志等级是如何 ...

  6. python中的logging记录日志_[ Python入门教程 ] Python中日志记录模块logging使用实例...

    python中的logging模块用于记录日志.用户可以根据程序实现需要自定义日志输出位置.日志级别以及日志格式. 将日志内容输出到屏幕 一个最简单的logging模块使用样例,直接打印显示日志内容到 ...

  7. Python入门:常用模块—logging模块

    logging日志可以分为:debug(),info(),warning(),error(),critical() 5个级别 最简单用法 import logginglogging.warning(& ...

  8. python configuration_Python(2.7.6) 标准日志模块 - Logging Configuration

    除了使用 logging 模块中的 basicConfig 方法配置日志, Python 的 logging.config 模块中, dictConfig 和 fileConfig 方法分别支持通过字 ...

  9. Python模块:日志输出—logging模块

    1. logging介绍 Python的logging模块提供了通用的日志系统,可以方便第三方模块或者是应用使用.这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTTP GET/ ...

最新文章

  1. 工作中使用计算机的经验,事业单位考试中计算机工作经历是什么意思
  2. 【全栈项目上线(vue+node+mongodb)】04. 怎么在一台主机上面部署多个网站,详细操作指南...
  3. java list合并_Java流系列之第2部:使用流执行聚合
  4. 第三次作业+105032014101
  5. web 小程序 ch4 小程序组件
  6. Qt文档阅读笔记-QUdpSocket基本表述及简单实现
  7. linux嵌入式物联网_嵌入式Linux如何加速物联网发展
  8. 实体类 接口_Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口)
  9. 【Oracle】删除不存在表时避免报错
  10. 【李宏毅2020 ML/DL】P73 More about Anomaly Detection
  11. mysql数据库用doc命令,myMySQL数据库怎么使用dos命令安装? MySQL数据库使用教程
  12. AgileEAS.NET 4.0 重构裁剪后的程序集说明
  13. Javascript:Promise异步编程解决方案
  14. CF633H Fibonacci-ish II
  15. Anaconda Clean命令
  16. 白话大数据 | 从买菜这件小事来聊聊数据仓库
  17. 高斯投影正反算C语言程序代码,高斯投影正反算c代码
  18. js时间格式转换收录
  19. 计算机一级考试操作题知识点,计算机一级考操作题知识点归纳.doc
  20. 游戏《天黑请闭眼OL》全套源代码

热门文章

  1. 第三章EF的基本使用 EF添加数据实体模型
  2. mz04那智不二越机器人编程_买买买!这些炫酷的机器人已加入进博会“购物车”!...
  3. 百度安装php环境,Centos下安装类百度文库环境
  4. 试题17 方程的解(枚举法)
  5. webstorm更换主题后快捷键失效
  6. [理解] Linux 作为一个服务器是怎样的存在 (一)
  7. 18.7 修改IP地址
  8. day013内置函数一
  9. 第一次个人项目【词频统计】——PSP表格
  10. 密码输入页面的实现-模仿支付宝