Python glog库使用指南:日志前缀解析与功能示例
本文详细介绍Python中glog库的使用,解析其Google风格日志前缀(E/I/W/F、时间、PID等)的含义,梳理DEBUG至CRITICAL的日志级别排序及默认设置,并通过代码示例展示如何调用info、error、fatal等函数进行简单日志记录,帮助开发者快速掌握该库的核心功能。
本文旨在介绍如何在Python中使用简单的日志记录库glog,文中提供了详细的示例代码,对读者的学习或工作具有参考价值。
glog简介与日志前缀解析
一、glog简介 glog记录的日志信息默认输出至标准错误流(stderr),即直接显示在控制台终端中。
每条日志记录均会附带一个谷歌风格的前缀(google-style log prefix),其具体形式如下所示:
E0924 22:19:15.123456 19552 filename.py:87] some message
上述日志前缀中加粗的红色部分为谷歌风格日志前缀,各部分具体含义定义如下:
(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(Process ID),即示例中的19552。
(5)随后是正在运行的程序文件名,例如test.py。
(6)最后是日志所在文件的具体行号,例如87表示该条日志生成于py文件的第87行。
glog功能与日志级别
二、glog的功能概述 下面简要查看glog模块中定义的主要方法。
复制代码 """A simple Google-style logging wrapper.""" import logging import time import traceback import os import gflags as flags # 这些方法其实都是来自于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 #下面这些方法常用来检查某些条件或者是结果,然后根据实际情况输出日志信息 def check_failed(message): def check(condition, message=None): def check_eq(obj1, obj2, message=None): def check_ne(obj1, obj2, message=None): def check_le(obj1, obj2, message=None): def check_ge(obj1, obj2, message=None): def check_lt(obj1, obj2, message=None): def check_gt(obj1, obj2, message=None): 复制代码 logging模块提供了一组便捷函数,用于执行简单的日志记录,包括debug()、info()、warning()、error()和critical()。
日志级别按严重程度递增排序如下:
DEBUG:提供详细信息,通常仅在调试问题时使用。
INFO:表明程序按预期正常运行。
WARNING:提示某些未预料到的情况,或未来可能出现的问题。例如磁盘空间不足,但软件仍可继续运行。
ERROR:由于更严重的问题,软件部分功能无法执行。
CRITICAL:严重错误,表明软件已无法继续运行。
级别排序关系为:CRITICAL > ERROR > WARNING > INFO > DEBUG。
默认的日志记录等级为WARNING。
glog模块简单示例
三、glog模块简单示例
import glog
a=100
if a==100:
glog.info("a=100")
b=0
if b==0:
glog.error("b=0!")
glog.fatal("b is 0")
glog.warn("b is really 0?")
'''运行结果为:
I0626 15:35:54.071558 17300 test.py:10] a=100
E0626 15:35:54.072561 17300 test.py:14] b=0!
F0626 15:35:54.072561 17300 test.py:15] b is 0
W0626 15:35:54.072561 17300 test.py:16] b is really 0?
'''
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









