Rails disable logging of asset pipeline messages

There are many assets related log messages in log file. It causes Rack to use the Rails logger very  frequently.

To hide the messages, add this line to your config (config/application.rb or config/environments/production.rb or config/environment.rb):

1. config.assets.logger = false
config.assets.debug = false # optional
2. rake assets:precompile RAILS_ENV=production

 

Solution 2.

Place the following code in config/initializers/quiet_assets.rb

if Rails.env.development?
Rails.application.assets.logger = Logger.new('/dev/null')
Rails::Rack::Logger.class_eval do
def call_with_quiet_assets(env)
previous_level = Rails.logger.level
Rails.logger.level = Logger::ERROR if env['PATH_INFO'] =~ %r{^/assets/}
call_without_quiet_assets(env)
ensure
Rails.logger.level = previous_level
end
alias_method_chain :call, :quiet_assets
end
end

The code was found here.

 

 

Discussions:

* http://stackoverflow.com/questions/6312448/how-to-disable-logging-of-asset-pipeline-sprockets-messages-in-rails-3-1

* Benchmarking of performance – https://github.com/rails/rails/pull/3795