iT邦幫忙

2022 iThome 鐵人賽

DAY 10
0

許多工程師在除錯時候使用print的方式,但是此種方式在找出修復錯誤所需訊息之前需要執行程式多次,且最後也需要刪除這些print()呼叫。
使用debugger或設置日誌檔案(logfile)較方便記錄程式中大量訊息。

import logging
logging.basicConfig(filename = 'log_filename.log',
                    filemode = 'w',
                    datefmt = '%a %d %b %Y %H:%M:%S',
                    format = '%(asctime)s %(filename)s %(levelname)s:%(message)s',
                    level=logging.INFO)
logging.debug("this is a debug")
logging.info("this is a info")
logging.warning("this is a warning")
  • filename: 日誌檔案名稱
  • filemode: 預設寫檔案模式為a,新訊息近來不會覆蓋而是追加。w則會覆蓋之前的訊息
  • format: 寫出log訊息的格式
  • datefmt: log訊息中日期的格式
  • level: 設定輸出的日誌的級別

Python中日誌的層級

層級 | 日誌函式 | 描述
------------- | -------------
DEBUG | logging.debug() | 判斷有問題時候使用
INFO | logging.info() | 確認程式正常的運作方式
WARNING | logging.warning() | 指出目前潛在問題
ERROR | logging.error() | 紀錄錯誤造成程式失誤原因
CRITICAL | logging.critical() | 致命性的錯誤,可能造成程式停止


上一篇
Day09: Python注釋總類
下一篇
Day11: Python中常見術語
系列文
人生苦短我用python寫出乾淨程式碼22
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言