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设计模式之代理模式实例
Apr 26 Python
Python中Random和Math模块学习笔记
May 18 Python
详细介绍Python的鸭子类型
Sep 12 Python
NetworkX之Prim算法(实例讲解)
Dec 22 Python
python TCP Socket的粘包和分包的处理详解
Feb 09 Python
Python基础教程之异常详解
Jan 10 Python
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
Jul 01 Python
pycharm显示远程图片的实现
Nov 04 Python
Django将默认的SQLite更换为MySQL的实现
Nov 18 Python
解决Jupyter因卸载重装导致的问题修复
Apr 10 Python
在Windows下安装配置CPU版的PyTorch的方法
Apr 02 Python
教你怎么用Python实现GIF动图的提取及合成
Jun 15 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防攻击代码升级版
2010/12/29 PHP
记录mysql性能查询过程的使用方法
2013/05/02 PHP
php生成EAN_13标准条形码实例
2013/11/13 PHP
PHP测试成功的邮件发送案例
2015/10/26 PHP
WordPress中登陆后关闭登陆页面及设置用户不可见栏目
2015/12/31 PHP
php利用ZipArchive类操作文件的实例
2020/01/21 PHP
JavaScript Array扩展实现代码
2009/10/14 Javascript
JavaScript接口实现代码 (Interfaces In JavaScript)
2010/06/11 Javascript
EasySlider 基于jQuery功能强大简单易用的滑动门插件
2010/06/11 Javascript
javascript判断iphone/android手机横竖屏模式的函数
2011/12/20 Javascript
jQuery中nextAll()方法用法实例
2015/01/07 Javascript
jQuery实现表格行上移下移和置顶的方法
2015/05/22 Javascript
JavaScript中rem布局在react中的应用
2015/12/09 Javascript
jQuery实现批量判断表单中文本框非空的方法(2种方法)
2015/12/09 Javascript
微信小程序 后台https域名绑定和免费的https证书申请详解
2016/11/10 Javascript
前端JS面试中常见的算法问题总结
2016/12/23 Javascript
jquery滚动条插件slimScroll使用方法
2017/02/09 Javascript
微信小程序自定义模态对话框实例详解
2017/08/16 Javascript
Vue element-ui父组件控制子组件的表单校验操作
2020/07/17 Javascript
vue项目里面引用svg文件并给svg里面的元素赋值
2020/08/17 Javascript
Python多线程下载文件的方法
2015/07/10 Python
Python2.x版本中基本的中文编码问题解决
2015/10/12 Python
详解python字节码
2018/02/07 Python
Python实现的爬取网易动态评论操作示例
2018/06/06 Python
python双端队列原理、实现与使用方法分析
2019/11/27 Python
python获取网络图片方法及整理过程详解
2019/12/20 Python
python内打印变量之%和f的实例
2020/02/19 Python
Python itertools.product方法代码实例
2020/03/27 Python
Django执行源生mysql语句实现过程解析
2020/11/12 Python
Reformation官网:美国女装品牌
2018/09/14 全球购物
国庆节文艺活动方案
2014/02/03 职场文书
岗位廉政承诺书
2014/03/27 职场文书
养成教育经验材料
2014/05/26 职场文书
快消品行业营销模式与盈利模式分享
2019/09/27 职场文书
详解 TypeScript 枚举类型
2021/11/02 Javascript
SQL基础查询和LINQ集成化查询
2022/01/18 MySQL