python 利用logbook模組管理日誌

2022-05-16 15:18:59 字數 2915 閱讀 9881

日誌管理作為軟體專案的通用部分,無論是開發還是自動化測試過程中,都顯得尤為重要。

最初是打算利用python的logging模組來管理日誌的,後來看了些github及其他人的自動化框架設計,做了個比對後,還是決定使用logbook。

這篇部落格,介紹下python中的logbook模組的使用方法,僅供參考。。。

1、檔案安裝

2、pip命令安裝

進入cmd命令列,輸入 pip install logbook 命令進行安裝,安裝成功後,輸入 pip show logbook 命令,檢視相關資訊。

二、logbook簡介

logbook的設計初衷,就是用來取代python的標準庫日誌模組:logging。具體內容可通過下方的鏈結檢視官方文件說明:

官方文件:

三、用法說明

示例**如下:log.py

#

coding=utf-8

import

osimport

sysimport

logbook

from logbook import

logger,streamhandler,filehandler,timedrotatingfilehandler

from logbook.more import

colorizedstderrhandler

deflog_type(record,handler):

log = "

".format(

date = record.time, #

日誌時間

level = record.level_name, #

日誌等級

filename = os.path.split(record.filename)[-1], #

檔名 func_name = record.func_name, #

函式名 lineno = record.lineno, #

行號 msg = record.message #

日誌內容

)

return

log#

日誌存放路徑

log_dir = os.path.join("

log")if

notos.path.exists(log_dir):

os.makedirs(log_dir)

#日誌列印到螢幕

log_std = colorizedstderrhandler(bubble=true)

log_std.formatter =log_type

#日誌列印到檔案

log_file =timedrotatingfilehandler(

os.path.join(log_dir,

'%s.log

' % '

log'),date_format='

%y-%m-%d

', bubble=true, encoding='

utf-8')

log_file.formatter =log_type

#指令碼日誌

run_log = logger("

script_log")

definit_logger():

logbook.set_datetime_format(

"local")

run_log.handlers =

#例項化,預設呼叫

logger = init_logger()

**解析:1、定義日誌檔案型別,依次按照時間、日誌等級、測試檔名、函式方法名、行數、具體的資訊來展示;

日誌等級:

level

describe

critical

嚴重錯誤,會導致程式退出

error

可控範圍內的錯誤

warning

警告資訊

notice

大多情況下希望看到的記錄

info

大多情況不希望看到的記錄

debug

除錯程式時詳細輸出的記錄

2、定義日誌存放路徑為log資料夾;

3、logbook的日誌輸出方式有2種:列印到螢幕(比較適合除錯時候,正式使用時可以將其注釋掉)和列印輸出到日誌檔案;

4、定義日誌輸出;

5、例項化,方便其他模組呼叫;

可以通過測試**來測試日誌是否列印到了對應的路徑,測試**如下:test_log.py

#

coding=utf-8

import

osfrom log import

run_log as logger

if__name__ == '

__main__':

logger.info(

"測試log模組,暫時就優化到這一步,後續再改進

")

測試結果:

如上所示,即為logbook的基本使用方法,**僅供參考,具體使用請自行實踐。。。

python列印日誌logbook

import os import sys import logbook from logbook import logger,streamhandler,filehandler,timedrotatingfilehandler from logbook.more import colorizedst...

logbook日誌系統

python中替代logging的日誌系統。不過比之前的logging難理解。先上列印到螢幕上的 和存到日誌檔案中的 usr bin env python3 coding utf 8 from logbook import logger,streamhandler,timedrotatingfile...

Logbook模組 logging的高階封裝版

pip install logbook目前僅封裝了檔案日誌輸出和控制台日誌輸出,可以自定義列印格式。from pathlib2 import path import logbook from logbook import logger,timedrotatingfilehandler from lo...