常用的 LOG 可分為四個等級(level):
- DEBUG
供除錯參考用的訊息,通常只有在 development 階段才需要,此類訊息是開發者才需要瞭解。為了避免 LOG 檔訊息數量過多影響效能且佔據磁碟容量,一般在 production 階段會關閉 DEBUG 層級的訊息輸出。 - INFO
記錄一些發生的日常事件,例如一位管理者登入、已刪除一筆資料...等。在 development 階段可供開發者搭配除錯需求追蹤功能的測試結果,建議開啟;到 production 階段若開啟則有助於瞭解回溯至某個時間點進行什麼樣的操作,但是增加訊息量,若系統已經運作穩定則可以視情況選擇開啟或關閉。 - WARN
給予開發者或系統管理者警告訊息,這類訊息不一定要立即處置,因為不會對功能操作產生立即或嚴重的影響;在 production 階段仍建議開啟。 - ERROR
錯誤訊息是一定要優先處理的問題,在 production 階段一定要開啟並定期追蹤,如果發現錯誤應立即列入 Issue 控管。
新建的 Grails 專案已包含 log 物件,在 Controller、Domain Class 皆可直接存取,依照層級輸出錯誤信息。
log.info "User ${user.id} has been created."
if (....) {
log.warn "It's not a good idea."
}
try {
}
catch (e) {
log.error "BAD News! ..."
}
在預設的設定下,僅有 warn 層級以上的訊息會被顯示在終端機(console)畫面,所以需要先修改 grails-app/conf/Config.groovy 的 log4j { ... } 設定區塊。增加:
info "grails.app"
或
debug "grails.app"
如此才能讓 info 與 debug 層級的 LOG 訊息也能顯示。
延伸閱讀:
沒有留言:
張貼留言