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创建只读属性对象的方法(ReadOnlyObject)
Feb 10 Python
python Django模板的使用方法(图文)
Nov 04 Python
Python之PyUnit单元测试实例
Oct 11 Python
使用grappelli为django admin后台添加模板
Nov 18 Python
python 字典 按key值大小 倒序取值的实例
Jul 06 Python
python opencv 批量改变图片的尺寸大小的方法
Jun 28 Python
python 下 CMake 安装配置 OPENCV 4.1.1的方法
Sep 30 Python
基于python的itchat库实现微信聊天机器人(推荐)
Oct 29 Python
Python字符串格式化输出代码实例
Nov 22 Python
pandas 按日期范围筛选数据的实现
Feb 20 Python
浅谈Python 中的复数问题
May 19 Python
如何用Python搭建gRPC服务
Jun 30 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中ob(Output Buffer 输出缓冲)函数使用方法
2007/07/21 PHP
PHP获取POST数据的几种方法汇总
2015/03/03 PHP
学习PHP的数组总结【经验】
2016/05/05 PHP
IE innerHTML,outerHTML所引起的问题
2009/06/04 Javascript
javascript 设置文本框中焦点的位置
2009/11/20 Javascript
客户端 使用XML DOM加载json数据的方法
2010/09/28 Javascript
原生js写的放大镜效果
2012/08/22 Javascript
Javascript图像处理—亮度对比度应用案例
2013/01/03 Javascript
使用javascript实现ListBox左右全选,单选,多选,全请
2013/11/07 Javascript
js使用数组判断提交数据是否存在相同数据
2013/11/27 Javascript
js控制元素显示在屏幕固定位置及监听屏幕高度变化的方法
2015/08/11 Javascript
基于jQuery实现仿百度首页选项卡切换效果
2016/05/29 Javascript
JavaScript鼠标特效大全
2016/09/13 Javascript
详解Vue.js搭建路由报错 router.map is not a function
2017/06/27 Javascript
使用Vue如何写一个双向数据绑定(面试常见)
2018/04/20 Javascript
Bootbox将后台JSON数据填充Form表单的实例代码
2018/09/10 Javascript
vue-cli 3.x 修改dist路径的方法
2018/09/19 Javascript
vue解决弹出蒙层滑动穿透问题的方法
2018/09/22 Javascript
详解vuex数据传输的两种方式及this.$store undefined的解决办法
2019/08/26 Javascript
Vue.js 实现地址管理页面思路详解(地址添加、编辑、删除和设置默认地址)
2019/12/11 Javascript
[02:12]探秘2016国际邀请赛中国区预选赛选手房间
2016/06/25 DOTA
python异步任务队列示例
2014/04/01 Python
解析Python编程中的包结构
2015/10/25 Python
基于Python获取docx/doc文件内容代码解析
2020/02/17 Python
pycharm第三方库安装失败的问题及解决经验分享
2020/05/09 Python
通过实例了解Python异常处理机制底层实现
2020/07/23 Python
python/golang 删除链表中的元素
2020/09/14 Python
Jeep牧马人、切诺基和自由人零配件:4 Wheel Drive Hardware
2017/07/02 全球购物
美国在线购物频道:Shop LC
2019/04/21 全球购物
将一个文本文件的内容按倒序打印出来
2015/01/05 面试题
写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数
2016/04/13 面试题
一年级班主任工作总结2014
2014/11/08 职场文书
2014年城管个人工作总结
2014/12/08 职场文书
销售业务员岗位职责
2015/02/13 职场文书
干部培训工作总结2015
2015/05/25 职场文书
2016年优秀党员教师先进事迹材料
2016/02/29 职场文书