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 相关文章推荐
python3使用tkinter实现ui界面简单实例
Jan 10 Python
python机器学习库常用汇总
Nov 15 Python
判断python字典中key是否存在的两种方法
Aug 10 Python
详解Python下Flask-ApScheduler快速指南
Nov 04 Python
Python使用reportlab模块生成PDF格式的文档
Mar 11 Python
Python3.5 Pandas模块缺失值处理和层次索引实例详解
Apr 23 Python
pandas 缺失值与空值处理的实现方法
Oct 12 Python
详解有关PyCharm安装库失败的问题的解决方法
Feb 02 Python
Python多线程获取返回值代码实例
Feb 17 Python
jupyter notebook tensorflow打印device信息实例
Apr 20 Python
Python延迟绑定问题原理及解决方案
Aug 04 Python
Python描述数据结构学习之哈夫曼树篇
Sep 07 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 foreach循环使用详解与实例代码
2010/05/08 PHP
关于php连接mssql:pdo odbc sql server
2011/07/20 PHP
整理php防注入和XSS攻击通用过滤
2015/09/13 PHP
PHPExcel简单读取excel文件示例
2016/05/26 PHP
PHP8.0新功能之Match表达式的使用
2020/07/19 PHP
JavaScript 编程引入命名空间的方法
2007/06/29 Javascript
jquery win 7透明弹出层效果的简单代码
2013/08/06 Javascript
Node.js(安装,启动,测试)
2014/06/09 Javascript
解析JavaScript模仿块级作用域
2016/12/29 Javascript
解决js ajax同步请求造成浏览器假死的问题
2018/01/18 Javascript
Vue实现用户自定义字段显示数据的方法
2018/08/28 Javascript
JavaScript创建对象方法实例小结
2018/09/03 Javascript
Vue实现类似Spring官网图片滑动效果方法
2019/03/01 Javascript
基于layPage插件实现两种分页方式浅析
2019/07/27 Javascript
vue 验证码界面实现点击后标灰并设置div按钮不可点击状态
2019/10/28 Javascript
使用Angular9和TypeScript开发RPG游戏的方法
2020/03/25 Javascript
JavaScript 空间坐标的使用
2020/08/19 Javascript
六个窍门助你提高Python运行效率
2015/06/09 Python
在pycharm中python切换解释器失败的解决方法
2018/10/29 Python
Pytorch中index_select() 函数的实现理解
2019/11/19 Python
Flask 上传自定义头像的实例详解
2020/01/09 Python
Python实现文件压缩和解压的示例代码
2020/08/12 Python
用pip给python安装matplotlib库的详细教程
2021/02/24 Python
英国家庭珠宝商:T. H. Baker
2018/02/08 全球购物
大学毕业生最详细的自我评价分享
2013/11/18 职场文书
致跳高运动员加油稿
2014/02/12 职场文书
母亲节感恩活动记录
2014/03/16 职场文书
教师党员群众路线教育实践活动心得体会
2014/11/04 职场文书
信访工作个人总结
2015/03/03 职场文书
中学生勤俭节约倡议书
2015/04/29 职场文书
班主任开场白
2015/06/01 职场文书
2015年党务工作者个人工作总结
2015/10/22 职场文书
班干部竞选演讲稿(精选5篇)
2019/09/24 职场文书
SQL Server 数据库实验课第五周——常用查询条件
2021/04/05 SQL Server
利用Sharding-Jdbc进行分库分表的操作代码
2022/01/22 Java/Android
Go gorilla/sessions库安装使用
2022/08/14 Golang