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 字典dict使用介绍
Nov 30 Python
python中enumerate函数用法实例分析
May 20 Python
python中hashlib模块用法示例
Oct 30 Python
python 地图经纬度转换、纠偏的实例代码
Aug 06 Python
用Python编写一个简单的CS架构后门的方法
Nov 20 Python
python读取xlsx的方法
Dec 25 Python
实例介绍Python中整型
Feb 11 Python
python实现简单飞行棋
Feb 06 Python
python集合删除多种方法详解
Feb 10 Python
Python稀疏矩阵及参数保存代码实现
Apr 18 Python
pyecharts调整图例与各板块的位置间距实例
May 16 Python
使用python实现学生信息管理系统
Feb 25 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+APACHE实现用户论证的方法
2006/10/09 PHP
php 网页播放器用来播放在线视频的代码(自动判断并选择视频文件类型)
2010/06/03 PHP
怎样使用php与jquery设置和读取cookies
2013/08/08 PHP
TP5.0框架实现无限极回复功能的方法分析
2019/05/04 PHP
PHP设计模式之数据访问对象模式(DAO)原理与用法实例分析
2019/12/12 PHP
javascript window.opener的用法分析
2010/04/07 Javascript
基于jquery的获取浏览器窗口大小的代码
2011/03/28 Javascript
jQuery数组处理代码详解(含实例演示)
2012/02/03 Javascript
javascript object array方法使用详解
2012/12/03 Javascript
新手快速学习JavaScript免费教程资源汇总
2015/06/25 Javascript
JavaScript中三种异步上传文件方式
2016/03/06 Javascript
Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果
2016/07/07 Javascript
用vue写一个仿简书的轮播图的示例代码
2018/03/13 Javascript
vue-router二级导航切换路由及高亮显示的实现方法
2019/07/10 Javascript
解决layer弹出层的内容页点击按钮跳转到新的页面问题
2019/09/14 Javascript
vue模块移动组件的实现示例
2020/05/20 Javascript
VUE 单页面使用 echart 窗口变化时的用法
2020/07/30 Javascript
[38:51]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-CDEC
2014/05/22 DOTA
Python标准库06之子进程 (subprocess包) 详解
2016/12/07 Python
Python初学时购物车程序练习实例(推荐)
2017/08/08 Python
Python Json序列化与反序列化的示例
2018/01/31 Python
Python中利用aiohttp制作异步爬虫及简单应用
2018/11/29 Python
Python3 SSH远程连接服务器的方法示例
2018/12/29 Python
ERLANG和PYTHON互通实现过程详解
2019/07/05 Python
Keras: model实现固定部分layer,训练部分layer操作
2020/06/28 Python
Python+pyftpdlib实现局域网文件互传
2020/08/24 Python
Django修改app名称和数据表迁移方案实现
2020/09/17 Python
用pushplus+python监控亚马逊到货动态推送微信
2021/01/29 Python
详解CSS3中@media的实际使用
2015/08/04 HTML / CSS
Whistles官网:英国女装品牌
2020/08/14 全球购物
幼儿园中班教学反思
2014/02/10 职场文书
餐厅销售主管职责范本
2014/02/19 职场文书
2014年小学植树节活动方案
2014/03/02 职场文书
2015年终个人政治思想工作总结
2015/11/24 职场文书
人生一定要学会的三样东西:放下、忘记、珍惜
2019/08/21 职场文书
导游词之云南丽江-泸沽湖
2019/09/26 职场文书