Rails logger あれやこれや

Rails のログに関するまとめ

ログローテーション

通常のログローテーションに関して

+ require 'active_support/core_ext/numeric/bytes'

先頭に追加

config/environments/development.rb

   config.assets.debug = true
+
+  config.logger = Logger.new("#{Rails.root}/log/#{Rails.env}.log", 10, 1.megabytes)
end

config/environments/production.rb

+
+  config.logger = Logger.new("#{Rails.root}/log/#{Rails.env}.log", 'daily')
end

Passenger を使う時のログローテーション(バッドノウハウな気がします)

# cat /etc/logrotate.d/passenger 
/home/application/projects/rails_app/current/log/production.log {
  weekly
  missingok
  rotate 30
  compress
  delaycompress
  sharedscripts
  postrotate
    touch /home/application/projects/rails_app/current/tmp/restart.txt
  endscript
}

ログの解析

簡易的に見るのはこれが楽そう。

$ request-log-analyzer log/production.log --file report.html --output HTML

参考