rails consoleのSQLログの表示を無効にする方法


開発中に実行したSQLのログが邪魔になるときがあり、非表示にする方法を探してみた。

loggerを変更すれば実現できる。

old_logger = ActiveRecord::Base.logger
begin
    ActiveRecord::Base.logger = nil
    # 処理
ensure
    ActiveRecord::Base.logger = old_logger
end

ファイルに出力したい場合はLoggerインスタンスを指定

ActiveRecord::Base.logger = Logger.new('log/sql.log')