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自动化测试工具Splinter简介和使用实例
May 13 Python
Python实现简单多线程任务队列
Feb 27 Python
python实现俄罗斯方块游戏
Mar 25 Python
解决csv.writer写入文件有多余的空行问题
Jul 06 Python
基于随机梯度下降的矩阵分解推荐算法(python)
Aug 31 Python
详解利用OpenCV提取图像中的矩形区域(PPT屏幕等)
Jul 01 Python
python获取Pandas列名的几种方法
Aug 07 Python
基于Python数据分析之pandas统计分析
Mar 03 Python
python实现横向拼接图片
Mar 23 Python
scrapy中如何设置应用cookies的方法(3种)
Sep 22 Python
如何在 Matplotlib 中更改绘图背景的实现
Nov 26 Python
解决Pytorch半精度浮点型网络训练的问题
May 24 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入门学习的几个不错的实例代码
2008/07/13 PHP
php中$_POST与php://input的区别实例分析
2015/01/07 PHP
PHP实现加密的几种方式介绍
2015/02/22 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
2018/02/07 PHP
Javascript SHA-1:Secure Hash Algorithm
2006/12/20 Javascript
JavaScript 程序编码规范
2010/11/23 Javascript
javascript 学习笔记(六)浏览器类型及版本信息检测代码
2011/04/08 Javascript
jQuery实现可用于博客的动态滑动菜单完整实例
2015/09/17 Javascript
移动端翻页插件dropload.js(支持Zepto和jQuery)
2016/07/27 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
2016/08/19 Javascript
ionic实现底部分享功能
2017/05/11 Javascript
JS实现json的序列化和反序列化功能示例
2017/06/13 Javascript
一个简易的js图片轮播效果
2017/07/22 Javascript
使用JS实现气泡跟随鼠标移动的动画效果
2017/09/16 Javascript
前端Vue项目详解--初始化及导航栏
2019/06/24 Javascript
微信小程序实现左滑动删除效果
2020/03/30 Javascript
JS实现音乐导航特效
2020/01/06 Javascript
JavaScript中作用域链的概念及用途讲解
2020/08/06 Javascript
[03:03]DOTA2校园争霸赛 济南城市决赛欢乐发奖活动
2013/10/21 DOTA
python中argparse模块用法实例详解
2015/06/03 Python
python爬虫使用cookie登录详解
2017/12/27 Python
python筛选出两个文件中重复行的方法
2018/05/31 Python
python写入文件自动换行问题的方法
2019/07/05 Python
python 遍历pd.Series的index和value
2019/11/26 Python
python实现从wind导入数据
2019/12/03 Python
详解python中的异常捕获
2020/12/15 Python
css3 media 响应式布局的简单实例
2016/08/03 HTML / CSS
美国最灵活的移动提供商:Tello
2017/07/18 全球购物
学习党课思想汇报
2013/12/29 职场文书
乡镇纠风工作实施方案
2014/03/22 职场文书
还款承诺书范文
2014/05/20 职场文书
化工专业自荐书
2014/06/16 职场文书
村长反四风问题个人对照检查材料
2014/09/21 职场文书
中学生社区服务活动报告
2015/02/05 职场文书
2016入党培训心得体会范文
2016/01/08 职场文书
小程序wx.getUserProfile接口的具体使用
2021/06/02 Javascript