python实现简单日志记录库glog的使用
这篇文章主要介绍了python实现简单日志记录库glog的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
一、glog的简介
glog所记录的日志信息总是记录到标准的stderr中,即控制台终端。
每一行日志记录总是会添加一个谷歌风格的前缀,即google-stylelogprefix,它的形式如下:
E092422:19:15.12345619552filename.py:87]somemessage
上面红色部分加粗的就是谷歌风格的日志前缀,每一个部分都有其含义,定义如下:
(1)第一个字母表示日志的类型,E表示error,I表示info,W表示warning,F表示fatal
(2)紧接在后面的表示记录日志的时间,格式为MMDD,比如这里0924,表示的是9月24日
(3)紧接在日期后面的是时间,格式为HH:MM:SS.microseconds,比如这里的时间是22时19分15秒123456毫秒
(4)紧接着是进程的ID,即ProcessID,也就是上面的19552
(5)紧接着是运行的程序文件,比如test.py
(6)最后是记录这一句日志是在文件中的哪一行发生的,比如87,指的是这句话是在py文件中的87行
二、glog有哪些功能
我们大致看一下glog模块里面定义的方法
复制代码
"""AsimpleGoogle-styleloggingwrapper."""
importlogging
importtime
importtraceback
importos
importgflagsasflags
#这些方法其实都是来自于logging模块
debug=logging.debug
info=logging.info
warning=logging.warning
warn=logging.warning
error=logging.error
exception=logging.exception
fatal=logging.fatal
log=logging.log
DEBUG=logging.DEBUG
INFO=logging.INFO
WARNING=logging.WARNING
WARN=logging.WARN
ERROR=logging.ERROR
FATAL=logging.FATAL
#下面这些方法常用来检查某些条件或者是结果,然后根据实际情况输出日志信息
defcheck_failed(message):
defcheck(condition,message=None):
defcheck_eq(obj1,obj2,message=None):
defcheck_ne(obj1,obj2,message=None):
defcheck_le(obj1,obj2,message=None):
defcheck_ge(obj1,obj2,message=None):
defcheck_lt(obj1,obj2,message=None):
defcheck_gt(obj1,obj2,message=None):
复制代码
logging提供了一组便利的函数,用来做简单的日志。它们是debug()、info()、warning()、error()和critical()。
logging以严重程度递增排序:
DEBUG:详细信息,一般只在调试问题时使用
INFO:证明事情按预期工作
WARNING:某些没有预料到的时间提示,或者在将来可能会出现的问题提示。例如:磁盘空间不足,但是软件还是会照常运作
ERROR:由于更严重的问题,软件已不能执行一些功能了
CRITICAL:严重错误,表明软件已不能继续运行了
级别排序:CRITICAL>ERROR>WARNING>INFO>DEBUG
默认等级是WARNING
三、glog模块的简单示例
importglog a=100 ifa==100: glog.info("a=100") b=0 ifb==0: glog.error("b=0!") glog.fatal("bis0") glog.warn("bisreally0?") '''运行结果为: I062615:35:54.07155817300test.py:10]a=100 E062615:35:54.07256117300test.py:14]b=0! F062615:35:54.07256117300test.py:15]bis0 W062615:35:54.07256117300test.py:16]bisreally0? '''
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。