Rails Consoleで表示されるSQLのログを非表示にする
2020/11/20
普段はどんなSQLが発行されたかがわかるのでとても便利だが、大量にSQLが発行される場合は逆に邪魔になる。
しかも出力をしているので、その分処理時間も無駄に掛かってしまう。
その時は、loggerの中身をnilにしてしまえばよい。
ActiveRecord::Base.logger = nil
元に戻せるように、既存の中身は退避させておくといいかも。
old_logger = ActiveRecord::Base.logger
ActiveRecord::Base.logger = nil
ActiveRecord::Base.logger = old_logger
簡単に切り替えられるメソッド作った。
def toggle_logger
if ActiveRecord::Base.logger
@old_logger = ActiveRecord::Base.logger
ActiveRecord::Base.logger = nil
else
ActiveRecord::Base.logger = @old_logger
end
end