python實(shí)現(xiàn)簡(jiǎn)單日志記錄庫(kù)glog的使用
這篇文章主要介紹了python實(shí)現(xiàn)簡(jiǎn)單日志記錄庫(kù)glog的使用,文中通過(guò)示例代碼介紹的非常詳細(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í)都是來(lái)自于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
#下面這些方法常用來(lái)檢查某些條件或者是結(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ù),用來(lái)做簡(jiǎn)單的日志。它們是 debug()、 info()、 warning()、 error() 和 critical()。
logging以嚴(yán)重程度遞增排序:
DEBUG:詳細(xì)信息,一般只在調(diào)試問(wèn)題時(shí)使用
INFO:證明事情按預(yù)期工作
WARNING:某些沒(méi)有預(yù)料到的時(shí)間提示,或者在將來(lái)可能會(huì)出現(xiàn)的問(wèn)題提示。例如:磁盤空間不足,但是軟件還是會(huì)照常運(yùn)作
ERROR:由于更嚴(yán)重的問(wè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中集合類型(set)學(xué)習(xí)小結(jié)
這篇文章主要介紹了Python中集合類型(set)學(xué)習(xí)小結(jié),本文講解了set的初始化、運(yùn)算操作、基本方法等內(nèi)容,需要的朋友可以參考下2015-01-01基于python編寫監(jiān)控系統(tǒng)各項(xiàng)資源的腳本
這篇文章主要為大家詳細(xì)介紹了如何編寫一個(gè)python腳本,實(shí)現(xiàn)監(jiān)控網(wǎng)絡(luò)的流量、CPU使用率、內(nèi)存使用率和磁盤使用情況,感興趣的小伙伴可以了解下2023-11-11Python OpenCV實(shí)現(xiàn)視頻追蹤
這篇文章主要為大家詳細(xì)介紹了Python OpenCV實(shí)現(xiàn)視頻追蹤,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08通過(guò)Python實(shí)現(xiàn)Payload分離免殺過(guò)程詳解
這篇文章主要介紹了通過(guò)Python實(shí)現(xiàn)Payload分離免殺過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07pytorch中實(shí)現(xiàn)彩色圖像(三通道)轉(zhuǎn)灰度圖像(單通道)
這篇文章主要介紹了pytorch中實(shí)現(xiàn)彩色圖像(三通道)轉(zhuǎn)灰度圖像(單通道),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02python3 http.client/server post傳輸json問(wèn)題
這篇文章主要介紹了python3 http.client/server post傳輸json問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09