在 python 项目中如何记录日志

Python024

在 python 项目中如何记录日志,第1张

写本文的目的是我在写 python 项目的时候需要记录日志,我忘记怎么处理了,每次都需要去网上查一遍, 好记性不如烂笔头 , 这里把查阅的内容记录下来,方便以后查找。

python 项目中记录日志,可以使用 logging 模块,logging 模块定义的函数和类为应用程序和库的开发实现了一个灵活的事件日志系统。logging 模块是Python的一个标准库模块,由标准库模块提供日志记录API的关键好处是所有Python模块都可以使用这个日志记录功能。所以,你的应用日志可以将你自己的日志信息与来自第三方模块的信息整合起来。

在 __init__.py 文件中做如下配置:

控制台输出日志如下:

参考文档

https://www.cnblogs.com/yyds/p/6901864.html

logging 模块预定义了5种日志级别,并根据它们所跟踪的事件的级别或严重程度来命名,具体如下:

注意:

Logger 对象有三个功能:

Logger 对象的使用最广泛的方法主要是:配置和记录消息

当配置了 Logger 对象后,就可以使用 Logger.debug() , Logger.info() , Logger.warning , Logger.error , Logger.critical() 方法来创建日志消息,只需将需要记录的消息写进括号内即可

Handler 对象负责将日志消息(基于日志消息的严重性)分派给处理器的指定目标。在上一步中提到,可以使用 Logger.addHandler() 来添加零个或多个处理器对象。例如,算法可以将所有日志消息都发送到控制台,将 ERROR 或者更高级别的消息发送到磁盘文件。这就需要两个单独的处理器。

处理器有很多 种类 ,常用的主要有以下几种:

Formatter 对象是用来配置日志消息的最终输出形式。其格式由 %(<dictionary key>)s 这样的表达形式来组合成字符串。例如:

其中,可以设置的<dictionary key>可参考 LogRecord属性

配置完后,我们就可以在我们算法想要进行日志记录的地方调用 Logger.debug() , Logger.info() , Logger.warning , Logger.error , Logger.critical() 来进行日志输出了。比如:

当运行算法时,你会看到控制台输出以下内容

https://docs.python.org/3/howto/logging.html#logging-howto