首页 > 编程语言 > 详细

Python Logging

时间:2021-02-09 18:00:09      阅读:27      评论:0      收藏:0      [点我收藏+]

log机制可以帮助我们定位和解决程序运行过程中的各种异常问题。python 中自带了logging模块以方便我们在代码中记录各种log信息并输出,下面我们简单介绍一下怎么使用。

 

 

首先,明确一点。print()如此便捷,为什么还需要用logging呢?

因为print()能输出的信息是有限的。

相较之下:1,logging可以设置不同的log等级,notest, debug, info, error, warning,critical(严重度递增);2,logging可以设置自定义的log信息格式;3,logging可以同时把log输出为文件,标准输出流等形式。

 

以代码举例:

 

import logging

logging.basicConfig(

    format="[%(asctime)s] - %(levelname)-8s - %(module)s.%(name)s : %(message)s",

    level=logging.INFO,

    filename=(‘debug.log‘),

)   #一种设置logging基本配置的方法。

#format:log内容的格式 ; level:log严重程度,如INFO表示记录严重度高于或等于INFO的log内容 ; filename:输出的文件

 

logger = logging.getLogger("my_logger")   #新定义一个logger对象"my_logger",默认的为“root”

#getlogger的使用场景是,根据不同的模块,类,函数或者对象命名不同的logger

logger.warning("report warning <3")   #使用新建的logger对象

logging.debug(‘invisible debug info‘) #log level置为INFO,所以log里看不见这条内容

logging.critical(‘critical‘)          #使用默认的logger对象

 

代码执行结果:

技术分享图片

 

如果我们将上面basicConfig()中的filename属性替换为handlers=[logging.StreamHandler()]则不输出log文件,而是将log信息输出到console窗口。

 

 

*C++中也有类似的机制,比如github上的spdlog库,只需#include "spdlog/spdlog.h",即可使用和python logging相似的log机制。

Python Logging

原文:https://www.cnblogs.com/henkenen/p/14392740.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!