本番のRailsで実行されたSQLのログを出す方法

データの問題なんかで本番でしか再現しないなんてことが結構あのに、本番環境ではSQLがログに出力されないので確認が面倒だなという時に利用してます。

環境

特にバージョンは今のところ関係なさそうですが、利用したことのある環境は以下になります。

  • Ruby 1.8.7
  • Ruby on Rails 2.3.5

実装内容

config/enviroments/production.rbに以下の処理を追記して再起動で大丈夫です。

config/enviroments/production.rb
1
2
ActiveRecord::Base.logger = Logger.new("log/sql_#{Date.today}.log")
ActiveRecord::Base.logger.level = 0

logディレクトリ以下にsql_2012-06-08.logというファイルが作成されます。

結構な量になるのでどうしても本番環境でデバッグしなきゃいけない時だけに限定したほうがよさげです。

以上です。

© 2024 磁力式駆動 All Rights Reserved.
Theme by hiero