Sooey

2011-12-15 11:48:43 +0900

Rails 3.1でリクエストのたびにassets関連のログが出力されるのをなんとかしたいなーと思って調べてみた。

11:41:34 web.1     | 11:41:34 Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2011-12-15 11:41:34 +0900
11:41:34 web.1     | 
11:41:34 web.1     | 11:41:34 Served asset /application.css - 200 OK (0ms)

1行目がRailsのログで、2行目はSprocketsのログみたい。

結果的に、

にある以下のコードでうまく抑制できた。

#config/initializers/quiet_assets.rb
Rails.application.assets.logger = Logger.new('/dev/null')
Rails::Rack::Logger.class_eval do
  def before_dispatch_with_quiet_assets(env)
    before_dispatch_without_quiet_assets(env) unless env['PATH_INFO'].index("/assets/") == 0
  end
  alias_method_chain :before_dispatch, :quiet_assets
end