python實(shí)現(xiàn)簡(jiǎn)單日志記錄庫glog的使用
這篇文章主要介紹了python實(shí)現(xiàn)簡(jiǎn)單日志記錄庫glog的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
一、 glog的簡(jiǎn)介
glog所記錄的日志信息總是記錄到標(biāo)準(zhǔn)的stderr中,即控制臺(tái)終端。
每一行日志記錄總是會(huì)添加一個(gè)谷歌風(fēng)格的前綴,即google-style log prefix, 它的形式如下:
E0924 22:19:15.123456 19552 filename.py:87] some message
上面紅色部分加粗的就是谷歌風(fēng)格的日志前綴,每一個(gè)部分都有其含義,定義如下:
(1)第一個(gè)字母表示日志的類型,E表示error,I表示info,W表示warning,F(xiàn)表示fatal
(2)緊接在后面的表示記錄日志的時(shí)間,格式為MMDD,比如這里0924,表示的是9月24日
(3)緊接在日期后面的是時(shí)間,格式為HH:MM:SS.microseconds,比如這里的時(shí)間是22時(shí)19分15秒123456毫秒
(4)緊接著是進(jìn)程的ID,即Process ID,也就是上面的19552
(5)緊接著是運(yùn)行的程序文件,比如test.py
(6)最后是記錄這一句日志是在文件中的哪一行發(fā)生的,比如87,指的是這句話是在py文件中的87行
二、glog有哪些功能
我們大致看一下glog模塊里面定義的方法
復(fù)制代碼
"""A simple Google-style logging wrapper."""
import logging
import time
import traceback
import os
import gflags as flags
# 這些方法其實(shí)都是來自于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
#下面這些方法常用來檢查某些條件或者是結(jié)果,然后根據(jù)實(shí)際情況輸出日志信息
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):
復(fù)制代碼
logging提供了一組便利的函數(shù),用來做簡(jiǎn)單的日志。它們是 debug()、 info()、 warning()、 error() 和 critical()。
logging以嚴(yán)重程度遞增排序:
DEBUG:詳細(xì)信息,一般只在調(diào)試問題時(shí)使用
INFO:證明事情按預(yù)期工作
WARNING:某些沒有預(yù)料到的時(shí)間提示,或者在將來可能會(huì)出現(xiàn)的問題提示。例如:磁盤空間不足,但是軟件還是會(huì)照常運(yùn)作
ERROR:由于更嚴(yán)重的問題,軟件已不能執(zhí)行一些功能了
CRITICAL:嚴(yán)重錯(cuò)誤,表明軟件已不能繼續(xù)運(yùn)行了
級(jí)別排序:CRITICAL>ERROR>WARNING>INFO>DEBUG
默認(rèn)等級(jí)是WARNING
三、glog模塊的簡(jiǎn)單示例
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?")
'''運(yùn)行結(jié)果為:
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?
'''
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python中pytest命令行實(shí)現(xiàn)環(huán)境切換
在自動(dòng)化測(cè)試過程中經(jīng)常需要在不同的環(huán)境下進(jìn)行測(cè)試驗(yàn)證,所以寫自動(dòng)化測(cè)試代碼時(shí)需要考慮不同環(huán)境切換的情況,本文主要介紹了Python中pytest命令行實(shí)現(xiàn)環(huán)境切換,感興趣的可以了解一下2023-07-07
如何從Python字符串中刪除最后一個(gè)分號(hào)或者逗號(hào)
這篇文章主要介紹了從?Python?中的字符串中刪除最后一個(gè)分號(hào)或者逗號(hào)的兩種方法,本文通過示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04
Python 實(shí)現(xiàn)12306登錄功能實(shí)例代碼
這篇文章主要介紹了Python 實(shí)現(xiàn)12306登錄功能的完整代碼,需要的朋友可以參考下2018-02-02
使用Python通過代碼創(chuàng)建圖表的詳細(xì)步驟
這篇文章主要介紹了使用Python通過代碼創(chuàng)建圖表的詳細(xì)步驟,文中介紹了如何使用DiagramasCode工具創(chuàng)建基礎(chǔ)架構(gòu)的架構(gòu)圖,并通過Python腳本生成并上傳到對(duì)象存儲(chǔ)桶,需要的朋友可以參考下2024-12-12
Python如何實(shí)現(xiàn)在字符串里嵌入雙引號(hào)或者單引號(hào)
今天小編就為大家分享一篇Python如何實(shí)現(xiàn)在字符串里嵌入雙引號(hào)或者單引號(hào),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03
python利用hook技術(shù)破解https的實(shí)例代碼
python利用hook技術(shù)破解https的實(shí)例代碼,需要的朋友可以參考一下2013-03-03
Python的math模塊中的常用數(shù)學(xué)函數(shù)整理
這篇文章主要介紹了Python的math模塊中的常用數(shù)學(xué)函數(shù)整理,同時(shí)對(duì)運(yùn)算符的運(yùn)算優(yōu)先級(jí)作了一個(gè)羅列,需要的朋友可以參考下2016-02-02

