如何优雅地调试你的python程序之logging库使用

写在开始:由于在学校没有编程规范要求,从而养成了使用print直接打屏的恶习。

1. python的日志记录工具logging

1.1 为什么需要日志记录

日志记录是一种跟踪某些软件运行时发生的事件的方法。该软件的开发人员将日志记录调用添加到其代码中,以指示已发生某些事件。事件由描述性消息描述,该消息可以可选地包含可变数据(即,对于事件的每次出现可能不同的数据)。事件也具有开发人员对事件的重要性; 重要性也可以称为水平 或严重程度

1.2 为什么使用python自带的日志记录工具

使用标准库模块提供的日志记录API的主要好处是所有Python模块都可以参与日志记录,因此您的应用程序日志可以包含您自己的消息,这些消息与来自第三方模块的消息集成在一起。

1.3 何时使用哪种日志

Python 标准库 logging 用作记录日志,默认分为六种日志级别(括号为级别对应的数值)分别对应于不同的日志的重要程度:

NOTSET(0)

DEBUG(10)

INFO(20)

WARNING(30)

ERROR(40)

CRITICAL(50)

我们自定义日志级别时注意不要和默认的日志级别数值相同,logging 执行时输出大于等于设置的日志级别的日志信息,如设置日志级别是 INFO,则 INFO、WARNING、ERROR、CRITICAL 级别的日志都会输出。默认级别为WARNING,这意味着将仅跟踪此级别及更高级别的事件,除非日志包已配置为执行其他操作。

要确定何时使用日志记录,请参阅下表,其中列出了针对一组常见任务中的每个任务的最佳工具。(双语对照,极致阅读体验)

日志记录功能以它们用于跟踪的事件的级别或严重性命名。标准水平及其适用性如下所述(按严重程度递增顺序):

2. 如何记录日志

两种方法:

1. 打印到控制台。

import logging
logging.warning('Watch out!')  # will print a message to the console
logging.info('I told you so')  # will not print anything

因为默认日志级别为warning所以下面info的日志不会打印在屏幕上

2.将它们写入磁盘文件。

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

上面的代码会在文件路径上生成一个example.log文件,现在,如果我们打开文件并查看我们的内容,我们应该找到日志消息:

DEBUG:root:This message should go to the log file
INFO:root:So should this
WARNING:root:And this, too
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值