python:利用logbook模組管理日誌

來源:互聯網
上載者:User

標籤: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模組管理日誌

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.