python实现简单日志记录库glog的使用


Posted in Python onDecember 13, 2019

这篇文章主要介绍了python实现简单日志记录库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模块里面定义的方法

复制代码
"""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()。

logging以严重程度递增排序:

DEBUG:详细信息,一般只在调试问题时使用

INFO:证明事情按预期工作

WARNING:某些没有预料到的时间提示,或者在将来可能会出现的问题提示。例如:磁盘空间不足,但是软件还是会照常运作

ERROR:由于更严重的问题,软件已不能执行一些功能了

CRITICAL:严重错误,表明软件已不能继续运行了

级别排序:CRITICAL>ERROR>WARNING>INFO>DEBUG

默认等级是WARNING

三、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?
'''

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python ORM框架SQLAlchemy学习笔记之关系映射实例
Jun 10 Python
Python实现的检测web服务器健康状况的小程序
Sep 17 Python
python 文件操作api(文件操作函数)
Aug 28 Python
Python检测生僻字的实现方法
Oct 23 Python
Python简单计算数组元素平均值的方法示例
Dec 26 Python
tensorflow如何批量读取图片
Aug 29 Python
tensorflow获取预训练模型某层参数并赋值到当前网络指定层方式
Jan 24 Python
python传到前端的数据,双引号被转义的问题
Apr 03 Python
Python xml、字典、json、类四种数据类型如何实现互相转换
May 27 Python
python使用自定义钉钉机器人的示例代码
Jun 24 Python
python中watchdog文件监控与检测上传功能
Oct 30 Python
Python基础之教你怎么在M1系统上使用pandas
May 08 Python
利用matplotlib实现根据实时数据动态更新图形
Dec 13 #Python
Python3将jpg转为pdf文件的方法示例
Dec 13 #Python
如何使用python3获取当前路径及os.path.dirname的使用
Dec 13 #Python
PyQt5多线程刷新界面防假死示例
Dec 13 #Python
wxpython多线程防假死与线程间传递消息实例详解
Dec 13 #Python
python-web根据元素属性进行定位的方法
Dec 13 #Python
python Jupyter运行时间实例过程解析
Dec 13 #Python
You might like
咖啡的种类和口感
2021/03/03 新手入门
PHP获取url的函数代码
2011/08/02 PHP
php压缩HTML函数轻松实现压缩html/js/Css及注意事项
2013/01/27 PHP
yii框架builder、update、delete使用方法
2014/04/30 PHP
PHP编译安装中遇到的两个错误和解决方法
2014/08/20 PHP
PHP实现合并discuz用户
2015/08/05 PHP
php实现压缩合并js的方法【附demo源码下载】
2016/09/22 PHP
关于PHP5.6+版本“No input file specified”问题的解决
2019/12/11 PHP
跟着JQuery API学Jquery 之三 筛选
2010/04/09 Javascript
自己实现string的substring方法 人民币小写转大写,数字反转,正则优化
2012/09/02 Javascript
jquery 跳到顶部和底部动画2句代码简单实现
2013/07/18 Javascript
js购物车实现思路及代码(个人感觉不错)
2013/12/23 Javascript
jQuery实现鼠标经过图片预览大图效果
2014/04/10 Javascript
JavaScript控制网页层收起和展开效果的方法
2015/04/15 Javascript
原生js和jquery实现图片轮播淡入淡出效果
2015/04/23 Javascript
jQuery+JSON实现AJAX二级联动实例分析
2015/12/18 Javascript
jQuery+CSS实现的table表格行列转置功能示例
2018/01/08 jQuery
JavaScript计算出两个数的差值
2020/03/19 Javascript
浅谈es6中的元编程
2020/12/01 Javascript
使用Python写一个小游戏
2018/04/02 Python
python 读入多行数据的实例
2018/04/19 Python
python调用百度REST API实现语音识别
2018/08/30 Python
python实现多层感知器MLP(基于双月数据集)
2019/01/18 Python
python调用c++传递数组的实例
2019/02/13 Python
简单瞅瞅Python vars()内置函数的实现
2019/09/27 Python
Python 实现Serial 与STM32J进行串口通讯
2019/12/18 Python
pygame实现飞机大战
2020/03/11 Python
香港迪士尼乐园酒店预订:Hong Kong Disneyland Hotels
2017/05/02 全球购物
秋季运动会加油稿200字
2014/01/11 职场文书
天鹅的故事教学反思
2014/02/04 职场文书
动漫设计与制作专业推荐信
2014/07/07 职场文书
机关党总支领导班子整改方案
2014/09/20 职场文书
先进典型事迹材料
2014/12/29 职场文书
2015年医德医风工作总结
2015/04/02 职场文书
2015年食品安全宣传周活动总结
2015/07/09 职场文书
MySQL创建管理子分区
2022/04/13 MySQL