Skip to Content Skip to Search

class Rails::Rack::SilenceRequest

Allows you to silence requests made to a specific path. This is useful for preventing recurring requests like health checks from clogging the logging. This middleware is used to do just that against the path /up in production by default.

Example:

config.middleware.insert_before \ Rails::Rack::Logger, Rails::Rack::SilenceRequest, path: “/up”

This middleware can also be configured using config.silence_healthcheck_path = "/up" in Rails.

Public class methods

Source code GitHub
# File railties/lib/rails/rack/silence_request.rb, line 20
def initialize(app, path:)
  @app, @path = app, path
end

Public instance methods

Source code GitHub
# File railties/lib/rails/rack/silence_request.rb, line 24
def call(env)
  if env["PATH_INFO"] == @path
    Rails.logger.silence { @app.call(env) }
  else
    @app.call(env)
  end
end

Definition files