当前位置:   article > 正文

理解Python 的日志记录工具logging_python logging flush

python logging flush

日志是什么?用来做什么?

  • 日志是对软件执行时所发生事件的一种追踪方式。
  • 软件开发人员对他们的代码添加日志调用,借此来指示某事件的发生。
  • 一个事件通过一些包含变量数据的描述信息来描述(比如:每个事件发生时的数据都是不同的)。
  • 开发者还会区分事件的重要性,重要性也被称为 等级 或 严重性。

日志库采用模块化方法,并提供几类组件:记录器、处理器、过滤器和格式器。

  • 记录器暴露了应用程序代码直接使用的接口。
  • 处理器将日志记录(由记录器创建)发送到适当的目标。
  • 过滤器提供了更精细的附加功能,用于确定要输出的日志记录。
  • 格式器指定最终输出中日志记录的样式。

日志事件信息在 LogRecord 实例中的记录器、处理器、过滤器和格式器之间传递。

在命名记录器时使用的一个好习惯是在每个使用日志记录的模块中使用模块级记录器,命名如下:

logger = logging.getLogger(__name__)
  • 1

这意味着记录器名称跟踪包或模块的层次结构,并且直观地从记录器名称显示记录事件的位置。

记录器层次结构的根称为根记录器。 这是函数 debug() 、 info() 、 warning() 、 error() 和 critical() 使用的记录器,它们就是调用了根记录器的同名方法。 函数和方法具有相同的签名。 根记录器的名称在输出中打印为 ‘root’ 。比如这样:

import logging

logging.basicConfig(filename='example.log', level=logging.DEBUG)
logging.debug('This message should go to the log file')
logging.info('So should this')
logging.warning('And this, too')
logging.error('And non-ASCII stuff, too, like ?resund and Malm?')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

输出:

DEBUG:root:This message should go to the log file
INFO:root:So should this
WARNING:root:And this, too
ERROR:root:And non-ASCII stuff, too, like ?resund and Malm?
  • 1
  • 2
  • 3
  • 4

当然,可以将消息记录到不同的地方。 软件包中的支持包含,用于将日志消息写入文件、 HTTP GET/POST 位置、通过 SMTP 发送电子邮件、通用套接字、队列或特定于操作系统的日志记录机制(如 syslog 或 Windows NT 事件日志)。 目标由 handler 类提供。 如果你有任何内置处理器类未满足的特殊要求,则可以创建自己的日志目标类。

日志级别

级别 数值
CRITICAL 50
ERROR 40
WARNING 30
INFO 20
DEBUG 10
NOTSET 0
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/815925
推荐阅读
相关标签
  

闽ICP备14008679号