標籤:get 連結 std 檔案 pre info orm 範圍 調用
日誌管理作為軟體項目的通用部分,無論是開發還是自動化測試過程中,都顯得尤為重要。
最初是打算利用python的logging模組來管理日誌的,後來看了些github及其他人的自動化架構設計,做了個比對後,還是決定使用logbook。
這篇部落格,介紹下python中的logbook模組的使用方法,僅供參考。。。
一、下載安裝
1、檔案安裝
從官網下載logbook安裝檔案,然後安裝即可。
官網連結:https://pypi.org/project/Logbook/
2、pip命令安裝
進入CMD命令列,輸入 pip install logbook 命令進行安裝,安裝成功後,輸入 pip show logbook 命令,查看相關資訊。
二、logbook簡介
logbook的設計初衷,就是用來取代python的標準庫日誌模組:logging。具體內容可通過下方的連結查看官方文檔說明:
官方文檔:http://logbook.readthedocs.io/en/stable/index.html
三、用法說明
範例程式碼如下:log.py
# coding=utf-8import osimport sysimport logbookfrom logbook import Logger,StreamHandler,FileHandler,TimedRotatingFileHandlerfrom logbook.more import ColorizedStderrHandlerdef log_type(record,handler): log = "[{date}] [{level}] [{filename}] [{func_name}] [{lineno}] {msg}".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 not os.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")def init_logger(): logbook.set_datetime_format("local") run_log.handlers = [] run_log.handlers.append(log_file) run_log.handlers.append(log_std)# 執行個體化,預設調用logger = init_logger()
代碼解析:
1、定義記錄檔類型,依次按照時間、日誌等級、測試檔案名、函數方法名、行數、具體的資訊來展示;
日誌等級:
level |
describe |
critical |
嚴重錯誤,會導致程式退出 |
error |
可控範圍內的錯誤 |
warning |
警告資訊 |
notice |
大多情況下希望看到的記錄 |
info |
大多情況不希望看到的記錄 |
debug |
偵錯工具時詳細輸出的記錄 |
2、定義日誌存放路徑為Log檔案夾;
3、logbook的日誌輸出方式有2種:列印到螢幕(比較適合調試時候,正式使用時可以將其注釋掉)和列印輸出到記錄檔;
4、定義日誌輸出;
5、執行個體化,方便其他模組調用;
可以通過測試代碼來測試日誌是否列印到了對應的路徑,測試代碼如下:test_log.py
# coding=utf-8import osfrom log import run_log as loggerif __name__ == ‘__main__‘: logger.info("測試log模組,暫時就最佳化到這一步,後續再改進")
測試結果:
如上所示,即為logbook的基本使用方法,代碼僅供參考,具體使用請自行實踐。。。
python:利用logbook模組管理日誌