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 面向对象 成员的访问约束
Dec 23 Python
python基础教程之实现石头剪刀布游戏示例
Feb 11 Python
Python实现获取操作系统版本信息方法
Apr 08 Python
浅谈python内置变量-reversed(seq)
Jun 21 Python
Python实现简单网页图片抓取完整代码实例
Dec 15 Python
pytorch 调整某一维度数据顺序的方法
Dec 08 Python
Python编写通讯录通过数据库存储实现模糊查询功能
Jul 18 Python
python爬虫增加访问量的方法
Aug 22 Python
使用pyqt5 tablewidget 单元格设置正则表达式
Dec 13 Python
Python作用域与名字空间原理详解
Mar 21 Python
PyTorch中的C++扩展实现
Apr 02 Python
在pycharm创建scrapy项目的实现步骤
Dec 01 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
php printf输出格式使用说明
2010/12/05 PHP
SESSION信息保存在哪个文件目录下以及能够用来保存什么类型的数据
2012/06/17 PHP
php除数取整示例
2014/04/24 PHP
PHP 魔术变量和魔术函数详解
2015/02/25 PHP
THINKPHP-Apache服务器中使用Alias虚拟目录URL重写 隐藏index.php
2021/03/09 PHP
潜说js对象和数组
2011/05/25 Javascript
js写一个弹出层并锁屏效果实现代码
2012/12/07 Javascript
如何在JavaScript中实现私有属性的写类方式(一)
2013/12/04 Javascript
2014 年最热门的21款JavaScript框架推荐
2014/12/25 Javascript
jquery搜索框效果实现方法
2015/01/16 Javascript
详谈javascript异步编程
2016/02/21 Javascript
vue2.0嵌套路由实现豆瓣电影分页功能(附demo)
2017/03/13 Javascript
微信小程序数字滚动插件使用详解
2018/02/02 Javascript
AngularJS日期格式化常见操作实例分析
2018/05/17 Javascript
ng-events类似ionic中Events的angular全局事件
2018/09/05 Javascript
Three.JS实现三维场景
2018/12/30 Javascript
jquery UI实现autocomplete在获取焦点时得到显示列表功能示例
2019/06/04 jQuery
es6数组之扩展运算符操作实例分析
2020/04/25 Javascript
JavaScript常用工具函数库汇总
2020/09/17 Javascript
js观察者模式的弹幕案例
2020/11/23 Javascript
Python socket编程实例详解
2015/05/27 Python
【Python】Python的urllib模块、urllib2模块批量进行网页下载文件
2016/11/19 Python
pandas.loc 选取指定列进行操作的实例
2018/05/18 Python
浅析python 动态库m.so.1.0错误问题
2020/05/09 Python
python实现在线翻译
2020/06/18 Python
python 装饰器的使用示例
2020/10/10 Python
python自动打开浏览器下载zip并提取内容写入excel
2021/01/04 Python
CSS3中的content属性使用示例
2015/07/20 HTML / CSS
css3 边框、背景、文本效果的实现代码
2018/03/21 HTML / CSS
html5.2 dialog简介详解
2018/02/27 HTML / CSS
SQL SERVER面试资料
2013/03/30 面试题
爱祖国爱家乡演讲稿
2014/09/02 职场文书
2014年信息技术工作总结
2014/12/16 职场文书
小学教师个人总结
2015/02/05 职场文书
毕业答辩开场白范文
2015/05/27 职场文书
SONY AN-LP1 短波有源天线放大器
2021/04/22 无线电