python實現(xiàn)簡單日志記錄庫glog的使用
這篇文章主要介紹了python實現(xiàn)簡單日志記錄庫glog的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
一、 glog的簡介
glog所記錄的日志信息總是記錄到標(biāo)準(zhǔn)的stderr中,即控制臺終端。
每一行日志記錄總是會添加一個谷歌風(fēng)格的前綴,即google-style log prefix, 它的形式如下:
E0924 22:19:15.123456 19552 filename.py:87] some message
上面紅色部分加粗的就是谷歌風(fēng)格的日志前綴,每一個部分都有其含義,定義如下:
(1)第一個字母表示日志的類型,E表示error,I表示info,W表示warning,F(xiàn)表示fatal
(2)緊接在后面的表示記錄日志的時間,格式為MMDD,比如這里0924,表示的是9月24日
(3)緊接在日期后面的是時間,格式為HH:MM:SS.microseconds,比如這里的時間是22時19分15秒123456毫秒
(4)緊接著是進程的ID,即Process ID,也就是上面的19552
(5)緊接著是運行的程序文件,比如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
# 這些方法其實都是來自于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ù)實際情況輸出日志信息
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ù),用來做簡單的日志。它們是 debug()、 info()、 warning()、 error() 和 critical()。
logging以嚴(yán)重程度遞增排序:
DEBUG:詳細信息,一般只在調(diào)試問題時使用
INFO:證明事情按預(yù)期工作
WARNING:某些沒有預(yù)料到的時間提示,或者在將來可能會出現(xiàn)的問題提示。例如:磁盤空間不足,但是軟件還是會照常運作
ERROR:由于更嚴(yán)重的問題,軟件已不能執(zhí)行一些功能了
CRITICAL:嚴(yán)重錯誤,表明軟件已不能繼續(xù)運行了
級別排序:CRITICAL>ERROR>WARNING>INFO>DEBUG
默認(rèn)等級是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?")
'''運行結(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?
'''
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python中集合類型(set)學(xué)習(xí)小結(jié)
這篇文章主要介紹了Python中集合類型(set)學(xué)習(xí)小結(jié),本文講解了set的初始化、運算操作、基本方法等內(nèi)容,需要的朋友可以參考下2015-01-01
基于python編寫監(jiān)控系統(tǒng)各項資源的腳本
這篇文章主要為大家詳細介紹了如何編寫一個python腳本,實現(xiàn)監(jiān)控網(wǎng)絡(luò)的流量、CPU使用率、內(nèi)存使用率和磁盤使用情況,感興趣的小伙伴可以了解下2023-11-11
通過Python實現(xiàn)Payload分離免殺過程詳解
這篇文章主要介紹了通過Python實現(xiàn)Payload分離免殺過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07
pytorch中實現(xiàn)彩色圖像(三通道)轉(zhuǎn)灰度圖像(單通道)
這篇文章主要介紹了pytorch中實現(xiàn)彩色圖像(三通道)轉(zhuǎn)灰度圖像(單通道),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02
python3 http.client/server post傳輸json問題
這篇文章主要介紹了python3 http.client/server post傳輸json問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09

