在開發小程式的時候,
使用 print() 來除錯,
若專案越來越龐大的話,
當今天要正式 release 就得去移除這些 print() 訊息,
Python 內建提供了 logging 模組來解決這個問題,
這就是今天的主題:
Django 基礎Log 範例教學
Logging 將 Log 分為六個等級,
logging.NOTSET ,代表數值: 0 ,無呼叫函式
logging.DEBUG ,代表數值: 10,以 logging.debug() 呼叫 (除錯等級)
logging.INFO ,代表數值: 20,以 logging.info() 呼叫 (訊息等級)
logging.WARNING ,代表數值: 30,以 logging.warning() 呼叫 (警告等級)
logging.ERROR ,代表數值: 40,以 logging.error() 呼叫 (錯誤等級)
logging.CRITICAL ,代表數值: 50,以 logging.critical() 呼叫 (嚴重錯誤等級)
最基本的使用方法也很簡單,
首先透過 basicConfig 設定要使用的Log:
level :設定目前Log使用的等級
format:設定在Log 中顯示的格式
- %(asctime)s 顯示時間格式
- %(levelname)s 顯示目前的等級
- %(message)s 顯示的訊息
filename 設定 Log的絕對路徑
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s : %(message)s', filename = BASE_DIR+'/logs/log.txt')
再來就是透過呼叫與除錯等級相應的函式設定顯示的訊息:
logging.debug("debug message") logging.info("info message") logging.warning("warning message") logging.error("error message") logging.critical("critical message")
將要顯示的範例訊息加到 helloworld 中
接著到專案資料夾中,
新增一個目錄名為 logs
並透過
chown -R [username]:www-data logs
chmod -R 764 logs
更改資料夾權限,
執行 helloworld 就能夠找到 log.txt 中秀出指定的訊息
其實 Logging 模組還有許多其他方法可以使用,
不過今天是基礎教學,
教大家最簡單的方式來 Coding ,
進階用法的話,
就請待下回分解。
沒有留言:
張貼留言