Rails

Railsのログローテーション

syslog(SyslogLogger)を使う方が良いのかな?という感じもしましたが、とりあえずログの肥大化だけなんとかできれば良かったので、logrotateを使ってみました。ubuntuだと、以下のファイルを置くだけ。

/etc/logrotate.d/rails
/var/www/app1/current/log/*.log {
  daily
  missingok
  rotate 7
  compress
  delaycompress
  notifempty
  copytruncate
}

/var/www/app2/current/log/*.log {
  :(省略)
}

試しに動かしてみるには以下のようにコマンドを実行します。

sudo /usr/sbin/logrotate -f /etc/logrotate.conf

 参考URL

https://stackoverflow.com/questions/4883891/ruby-on-rails-production-log-rotation
https://gorails.com/guides/rotating-rails-production-logs-with-logrotate