Rails.logger
總是使用 Rails.logger.{debug|info|warn|error|fatal}
而不是 puts
。這允許你的日誌適合標準日誌格式,具有時間戳並具有級別,因此你可以選擇它們是否足夠重要以在特定環境中顯示。你可以使用 rails app 環境名稱在 log/
目錄下檢視應用程式的單獨日誌檔案。喜歡:development.log
或 production.log
或 staging.log
你可以使用 LogRotate 輕鬆旋轉 rails 生產日誌。你只需進行如下小配置即可
用你最喜歡的 linux 編輯器 vim
或 nano
開啟/etc/logrotate.conf
,並在底部的此檔案中新增以下程式碼。
/YOUR/RAILSAPP/PATH/log/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
copytruncate
}
那麼,它是如何工作的這非常簡單。配置的每一位都執行以下操作:
- 每日 - 每天輪換日誌檔案。你也可以在此處使用每週或每月。
- missingok - 如果日誌檔案不存在,請忽略它
- 旋轉 7 - 僅保留 7 天的日誌
- compress - 旋轉時 GZip 日誌檔案
- delaycompress - 旋轉檔案一天,然後第二天壓縮它,這樣我們就可以確定它不會干擾 Rails 伺服器
- notifempty - 如果日誌為空,請不要旋轉檔案
- copytruncate - 複製日誌檔案,然後清空它。這可以確保 Rails 寫入的日誌檔案始終存在,因此你不會遇到問題,因為檔案實際上沒有更改。如果你不使用它,則每次都需要重新啟動 Rails 應用程式。
執行 Logrotate 由於我們剛剛編寫了此配置,因此你需要對其進行測試。
要手動執行 logrotate,只需執行:sudo /usr/sbin/logrotate -f /etc/logrotate.conf
而已。