Railsでログローテートをするには
Railsだと、簡単にログファイルのローテーションができます。
logrotateなど別の手段もあるのですが、常弱君には難しかったので、RailsのLogger.new()を使います。笑
config/envronment.rbやconfig/environments下の各環境の設定ファイルに、以下の1行を追加するだけです。
config.logger = Logger.new('/var/log/app/production.log', 10, 10.megabytes)
第一引数では、ログファイルを置きたい場所を指定します。
デフォルトのlogディレクトリでよければ、"#{Rails.root}/log/#{Rails.env}.log"と指定しておきます。
第二引数では、残したいログファイルの数を指定します。
上の例では、10ファイルまで残しておく指定をしています。
そして、ログが第三引数で指定したサイズを超えるごとに、ローテーションをしてくれて、10ファイルより多くなると、古いものから順に削除していってくれます。
また、以下のように記述することもできます。
config.logger = Logger.new('/var/log/app/production.log', 'weekly')
第一引数は同じくログファイルを置きたい場所を指定、第二引数に'daily'や'monthly'を指定すると、その期間ごとにローテーションをしてくれます。