rails6 ログローテーションを設定する

rails6 ログローテーションを設定する

rails6でログローテーションを設定するまでの手順を記述してます。Railsのバージョンは6.1.1を使用してます。

環境

  • OS CentOS Linux release 7.9.2009 (Core)
  • Ruby 2.7.2
  • Rails 6.1.1
  • rbenv 1.1.2-40-g62d7798
  • PostgreSQL 13.1

ログローテーション設定

「config/environments」配下の各環境の「test.rb」「development.rb」「production.rb」に以下のコードを追加することでログローテーションを設定することが可能です。

railsは、「ファイルサイズ」または「日付」で設定を行うことができます。

日付で設定

# 日毎
config.logger = Logger.new('log/development.log', 'daily')
# 週毎
config.logger = Logger.new('log/development.log', 'weekly')
# 月毎
config.logger = Logger.new('log/development.log', 'monthly')

サイズで設定(10Mごとで15個あれば、ファイルは削除)

config.logger = Logger.new('log/development.log', 15, 10 * 1024 * 1024)

10Mごとに設定した場合は、下図のように作成されていきます。