python的logging库

本文介绍了一种利用Python内置logging库简化程序调试的方法。作者通过配置logging模块,并在主程序及各模块中引入logger,实现了不同级别的日志记录,提高了调试效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

昨天那个纯属水文,今天还是来点小妓术吧。

现在写程序是越来越不喜欢debuging了,因为太费事,基本上是以TDD为主。不过有时候TDD的反馈信息还是太粗糙了——只有通过或失败,最多就是发生异常时出来的一堆错误信息,很多时候是不够的。

正好最近在弄gevent,这玩意就是想debugging也不好弄,于是就试了一下python自带的logging库,虽然limodou老大早就写过 ,不过我觉得他那个用法还是不够方便,就看了一下帮助文档弄了个简单的。

先弄个配置模块设定logging的配置:

import logging logconf = {} logconf['filename'] = 'app.log' logconf['filemode'] = 'w' logconf['format'] = '%(asctime)s %(name)s %(levelname)s %(message)s' logconf['level'] = logging.NOTSET

然后,一般一个应用不会就只有一个py文件的,总是一个主程序文件和一堆小模块,这时候要分别加logger的时候就很方便:

首先在主py文件里加上:

import logging from logger import logconf logging.basicConfig(**logconf)

然后在每个模块py文件里加上:

import logging logger = logging.getLogger('py filename')

之后就可以在程序里使用:

logger.error("xxxxx %s" % xxx) logger.warning("xxxxx %s" % xxx) logger.info("xxxxx %s" % xxx) logger.debug("xxxxx %s" % xxx)

进行logging了。

如果模块带测试的话,也可以这样:

if __name__ == "__main__": import unittest import logging from logger import logconf logging.basicConfig(**logconf) # test code...

相当的方便。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值