logging 是 python 标准模块,用于记录和处理程序中的日志。
功能很强大,官方文档很详细,网上也有大量的说明和教程,但是对很多初次接触的同学来说,存在一些障碍。
一是因为标准库文档太过繁琐,需要较高的理论基础,着急用时,常常被文档搞晕。
二是大部分说明材料要么是官方文档的罗列,要么是简单的应用,对实际应用帮助不大。
今天,我们从应用上的一些问题开始,探讨一下日志神器 logging 极其背后的原理,让它能真正的帮助到我们。
该用 logging.debug 还是 logger.debug ?
debug
是日志模块中的一个日志等级为 DEBUG 的日志生成方法,还有 info
、warning
、error
、critial
,这里用 debug
做为代表进行说明。
我们常会看到,一会儿用 logging.debug
记录日志,一会儿又用 logger.debug
记录日志,到底该用什么?
先看代码:
:
parser = create_args_parse()
args = parser.parse_args()
debug = args.debug
set_logger(debug)
...
代码有点长,但不难懂。
-
create_args_parse
方法用于解析命令行参数,其中定义了一个 debug 参数,表示开启调试模式 -
set_logger
方法接收一个是否为调试模式的参数,根据是否为调试模式,设置不同的日志模式 -
main
中,首先调用create_args_parse
获得命令行参数对象,然后从中解析出参数,提取 debug 模式,传送给set_logger
方法,设置日志模式
这样只需要在运行程序时,加上参数 -d 就可以让日志打印到终端上,不加,日志就会自动去 __main__.log
日志文件中去了。
总结
python 为我们提供了很多便利的功能,有些需要真的用到才能有所体会,所以在遇到问题时,需要多研究一下,找到其中的特点和内在的原理或机制,这样就能更好的应用了。
在我理解了 logging 的原理之后,已经在我的很多项目中发挥了巨大作用,而且再也不必纠结于怎么用,如何更合理等这些问题了。
期望这篇文章也能对你有所帮助,比心。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python如何连接mysql09/14
- ♥ Python *zip 函数的使用09/23
- ♥ 如何练习写python文件12/03
- ♥ 如何检查python是32位还是64位08/27
- ♥ Python读写两种不同的文件流11/22
- ♥ python协程的调度11/29
内容反馈