码迷,mamicode.com
首页 > 其他好文 > 详细

logging 模块

时间:2018-02-24 14:51:18      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:不同   多个   filters   根据   mod   程序   信息   blog   功能   

logging简介:

logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等;相比print,具备如下优点:

  1. 可以通过设置不同的日志等级,在release版本中只输出重要信息,而不必显示大量的调试信息;
  2. print将所有信息都输出到标准输出中,严重影响开发者从标准输出中查看其它数据;logging则可以由开发者决定将信息输出到什么地方,以及怎么输出;
 Logger从来不直接实例化,经常通过logging模块级方法(Module-Level  Function)logging.getLogger(name)来获得,其中如果name不给定就用root。名字是以点号分割的命名方式命名的(a.b.c)。对同一个名字的多个调用logging.getLogger()方法会返回同一个logger对象。这种命名方式里面,后面的loggers是前面logger的子logger,自动继承父loggers的log信息,正因为此,没有必要把一个应用的所有logger都配置一遍,只要把顶层的logger配置好了,然后子logger根据需要继承就行了。
   logging.Logger对象扮演了三重角色:
       首先,它暴露给应用几个方法以便应用可以在运行时写log.
       其次,Logger对象按照log信息的严重程度或者根据filter对象来决定如何处理log信息(默认的过滤功能).
       最后,logger还负责把log信息传送给相关的handlers.

Logging模块构成

组成

主要分为四个部分:

  • Loggers:提供应用程序直接使用的接口
  • Handlers:将Loggers产生的日志传到指定位置
  • Filters:对输出日志进行过滤
  • Formatters:控制输出格式

logging 模块

标签:不同   多个   filters   根据   mod   程序   信息   blog   功能   

原文地址:https://www.cnblogs.com/taidou/p/8465415.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!