Rails4で大きくなるログファイルに対応する

5807852400_6cb1047a04

photo credit: Gerbera via photopin (license)

みなさんこんにちは! 最近はRails4に夢中の@DAI199です。

今日はRailsを運用する中で、どんどん大きくなるログファイルってどうしたらいいんだろう?と思って調べたので記事書きます!

今回の環境は

  • Rails4.2

で動作確認しています。

こういう問題の解決策

どんどん大きくなるログファイル。圧迫される容量。 初期の無用なデータ。 これらをある程度消去していったりして管理したいですよね。

これを解決するために、「ログローテーション」という方法で解決することが出来ます。 もちろんフルスタックのRailsなので、ログローテーションを設定することが出来ます!

Railsで設定する方法

それではログローテーションを設定しましょう。

内容はとても簡単で、もしproduction環境において反映させたい場合は

#{Rails.root}/config/environments/production.rb

config.logger = Logger.new("log/production.log", 5, 10 * 1024 * 1024)

上記のように設定すると、10MBのログファイルが出来たら、production.log.0、production.log.1のように5つまでファイルを作成してくれる模様。 5ファイルを超えたら勝手に削除してくれます。便利!!

容量じゃなくて日程別に分けたい!

というときは下記のように設定しましょう。

#{Rails.root}/config/environments/production.rb

config.logger = Logger.new("log/production.log", 'daily')
config.logger = Logger.new("log/production.log", 'weekly')
config.logger = Logger.new("log/production.log", 'monthly')

こうやって設定するとproduction.log.20150803 のようにわけて保存してくれます!これまた便利!

最後に

実際に運用し始めると予想外の所で詰まったりして色々大変ですが、だからこそ楽しかったりしますよねw これからもRailsさんお世話になりますー((´^ω^))

参考記事