问题描述:

为了监视程序运行过程,也为了在程序崩溃后进行事后分析来定位错误的原因和位置,不少程序员会在程序中适当的位置使用print()函数输出一些信息。这种方式虽然方便,但是难以实现输出内容的分级。一般建议使用日志模块logging来完成这一任务。

在Python中有5个级别的日志,优先级从低到高分别为DEBUG < INFO < WARNING < ERROR < CRITICAL,每个级别的用途以及模块logging中对应的函数如下表所示:

级别

日志函数

描述

DEBUG

debug()

调试代码追踪问题时使用

INFO

info()

记录一般事件信息

WARNING

warning()

记录警告信息

ERROR

error()

记录报错信息

CRITICAL

critical()

记录可能导致程序崩溃的错误

下面的代码设置日志级别为最低级别DEBUG,所有级别的日志都会记录和输出。

Python日志模块logging高级用法_linux

下面的代码设置日志级别为WARNING级别,只输出该级别以上的日志。

Python日志模块logging高级用法_面试_02

必要时可以动态调整日志级别。

Python日志模块logging高级用法_linux_03

公众号“Python小屋”