logging

这个模块定义实现灵活的事件记录系统的应用程序和库类的功能。有一个标准库模块API提供的记录关键的好处是,所有的Python模块可以参与记录,所以你的应用程序日志可以包括您自己的信息,从第三方模块信息集成。该模块提供了很多的功能和灵活性。如果你不熟悉logging,掌握它的最好的方式是看教程。在模块中定义的基本类型,以及它们的功能,如下。

loggers暴露直接应用程序代码中使用的接口。

handlers发送日志记录到适当的目的地。

Filter提供更细输出日志记录。

Formatters在最终输出指定的日志记录的布局

logging基础

logging是一些软件时运行发生一种跟踪事件。当某些事件发生时该软件的开发者添加记录调用他们的代码表明。一个事件是由一个描述性的信息,可以选择包含可变数据描述(即数据,每次发生的事件可能不同)

日志文件

一个非常常见的情况是在一个记录logging事件,可以参考下面的例子(注:确定是在一个新的python解释器中,不要在上一个会话中继续)


importlogginglogging.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')

在消息中显示日期时间

为了在一个事件中显示时间,要在format中加入‘%(asctime)s’ :

import logging
logging.basicConfig(format='%(asctime)s %(message)s')
logging.warning('is when this event was logged.')
which should print something like this:

记入的logging如下所示

2010-12-12 11:41:42,612 is when this event was logged.

默认显示时间的形式是ISO8601,如果你需要更多的日期和时间的形式,basicConfig提供一个datafmt的参数,示例如下:

import logginglogging.basicConfig(format='%(asctime)s %(message)s', datefmt='%m/%d/%Y %I:%M:%S %p')logging.warning('is when this event was logged.')

log中会写入类似下面的东西:

12/12/2010 11:46:36 AM is when this event was logged.

dateFmt参数

The format of the datefmt argument is the same as supported by time.strftime()
.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,506评论 19 139
  • 本篇文章主要对 python logging 的介绍加深理解。更主要是 讨论在多进程环境下如何使用logging ...
    doudou0o阅读 41,349评论 52 42
  • 本文章是我大概三年前,在上家单位使用 Python 工作时结合官方文档做的整理。现在 Python 官方文档听说已...
    好吃的野菜阅读 217,753评论 14 232
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,081评论 6 342
  • 《心经》总在讲“无”,无色声香味触法,无眼界,乃至无意识界,无无明,亦无无明尽,无老死,亦无老死尽,无苦集灭道,无...
    王明霞2016阅读 7,015评论 0 0