Python 中如何自定义日志输出

当你使用任何编程语言时,最终目标始终是拥有一个按照提供的指令正常运行的程序。然而,第一次就达到期望的结果是很少见的,你可能需要分析你的运行以识别错误。在现代软件中,理解运行时行为已成为标准做法,这就是日志记录派上用场的地方。

在本文中,我们将专注于Pythonlogging库的基础知识,该库提供了所有必要的功能。它易于使用,在实施时提供了许多好处。虽然你可能目前正在使用print函数来调试和验证结果,但在生产环境中,按照日志记录的标准进行工作是很重要的。Python的日志记录库可以让你做到这一点。

日志记录的级别

不同的日志级别是日志记录的一个重要方面,了解它们的工作原理至关重要。简而言之,你可以选择所需的级别来控制输出中出现的日志消息。logging库为每个级别提供了单独的模块,它们的编号从10到50不等。所有级别都是不言而喻的,易于理解。但是,我们将详细介绍每个级别。

  • Debug:此日志级别主要用于调试目的,在生产环境中没有用处。它的日志级别为10。
  • Info:此日志级别提供了从程序行为中预期的信息。它的日志级别为20。
  • Warning:此日志级别通知用户有意外事件发生,但不足以使程序停止。它的日志级别为30。
  • Error:此日志级别用于报告运行时的意外故障。它会被提高以避免将来发生类似的故障。它的日志级别为40。
  • Critical:此日志级别表示严重错误,可能导致应用程序停止运行。它的日志级别为50。

程序记录高于指定级别的消息,类似于级联。下面是它的工作原理示例。在basicConfig中,我们应该提供所需的日志记录级别。结果,只有高于此级别的消息才会出现在输出中(包括当前级别)。因此,当我们想要查看WARNING消息时,程序不会记录DEBUGINFO级别的消息。

import logging  
  
def test_logging():  
    logging.basicConfig(level=logging.WARNING)  
  
    logging.debug("DEBUG")  
    logging.info("INFO")  
    logging.warning("WARNING")  
    logging.error("ERROR")  
    logging.critical("CRITICAL")  
  
test_logging()  
  
# WARNING:root:WARNING  
# ERROR:root:ERROR  
# CRITICAL:root:CRITICAL

在开始时,我们将级别设置为WARNING。因此,输出中只有三条消息 — 分别是WARNINGERRORCRITICAL级别的消息。现在,让我们将级别修改为DEBUG以观察输出。

import logging  
  
def test_logging():  
    logging.basicConfig(level=logging.DEBUG)  
  
    logging.debug("DEBUG")  
    logging.info("INFO")  
    logging.warning(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值