Rails.logger

總是使用 Rails.logger.{debug|info|warn|error|fatal} 而不是 puts。這允許你的日誌適合標準日誌格式,具有時間戳並具有級別,因此你可以選擇它們是否足夠重要以在特定環境中顯示。你可以使用 rails app 環境名稱在 log/目錄下檢視應用程式的單獨日誌檔案。喜歡:development.logproduction.logstaging.log

你可以使用 LogRotate 輕鬆旋轉 rails 生產日誌。你只需進行如下小配置即可

用你最喜歡的 linux 編輯器 vimnano 開啟/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

而已。