答案將在很大程度上取決於你的應用程序做什麼,但我的基本做法是這樣的:
每次你準備好記錄事件,只是想想事件和它所屬的很清楚。它殺了你的應用程序?這是致命的。它阻止某些東西工作正常嗎?這是一個錯誤。 可能它阻止某些東西工作,這次我們是否幸運?這是一個警告。有人關心嗎?信息。否則,如果您仍然需要記錄它,它必須用於調試目的。
在您的特定環境中,聽起來您可能只會嘗試記錄用戶操作。如果是這種情況,那麼唯一可能致命的行爲就是那些你沒有提供撤消選項的行爲(或者,如果用戶能夠通過你的訂購鋼琴工作臺和一段強壯的繩索應用)。我也無法想象任何來自用戶操作的調試級日誌。因此,我假設除了用戶操作之外,您還將記錄代碼級事件。
FATAL:這應該只出現在登錄時你的應用程序實際上崩潰,並且可能沿着500個響應。你可能會在你的wsgi應用程序中產生這些內容,只有當進程本來會死的時候。
錯誤:可能與http錯誤響應綁定。這通常是由您的應用程序之外的某些內容導致的錯誤。在你的代碼中發生的事情可能是預期的,並且是警告級別,或者是意想不到的,並且是致命的。錯誤可能是用戶在URL中輸入錯誤,表單提交時發生驗證錯誤或驗證錯誤時的404錯誤。從另一個方面來說,錯誤可能會從您聯繫的遠程Web服務或操作系統的IO錯誤返回。
警告:的東西不破壞任何東西,但如果你堅持下去,可能咬你。例子是使用不推薦的API和任何地方只有默認的工作(時區,字符編碼等)。也許某些輸入值也會導致警告,例如過去設置截止日期。
信息:一般,健康的操作。有人創建了一個數據庫行,創建一個帳戶,登錄或退出,一個插座被成功打開,等
DEBUG(一個新的項目或任務):它說什麼。一旦代碼正常工作,您通常會關閉輸出。方法進入/退出,對象實例化,代碼中不同點的字段值,計數器。無論你需要弄清楚爲什麼你的程序現在正在崩潰,當你工作。
看看這個http://simonwillison.net/2008/May/22/debugging/ – Chipmunk