Skip to content

Commit efe491b

Browse files
Silence debugbar routes from the logs
introduce QuietRoutes middleware
1 parent 8b262be commit efe491b

File tree

3 files changed

+25
-1
lines changed

3 files changed

+25
-1
lines changed

config/routes.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,5 @@
55
options 'poll/confirm' => "polling#confirm"
66
post 'poll/confirm' => "polling#confirm"
77

8-
# TODO: Silence logs for this route if `::Rails.application.config.assets.quiet` is true
98
get 'assets/script' => "assets#js"
109
end

lib/debugbar/engine.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
require_relative 'config'
2+
require_relative 'middlewares/quiet_routes'
23
require_relative 'middlewares/track_current_request'
34
require_relative '../../app/helpers/debugbar/tag_helpers'
45

@@ -38,6 +39,7 @@ class Engine < ::Rails::Engine
3839
initializer 'debugbar.inject_middlewares' do |app|
3940
next unless Debugbar.config.enabled?
4041
app.middleware.insert_after ActionDispatch::Executor, Debugbar::TrackCurrentRequest
42+
app.middleware.insert_after Sprockets::Rails::QuietAssets, Debugbar::QuietRoutes
4143
end
4244

4345
initializer 'debugbar.subscribe' do
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# This middleware silences the Rails logger for requests to the Debugbar routes.
2+
# The poll route can be *very* noisy.
3+
# Rails already does this for the /assets route, see Sprockets::Rails::QuietAssets.
4+
#
5+
# @see Sprockets::Rails::QuietAssets
6+
# @see Rails::Rack::Logger#silence
7+
#
8+
module Debugbar
9+
class QuietRoutes
10+
def initialize(app)
11+
@app = app
12+
@route_regex = %r(\A/{0,2}#{::Debugbar.config.prefix})
13+
end
14+
15+
def call(env)
16+
if env['PATH_INFO'] =~ @route_regex
17+
::Rails.logger.silence { @app.call(env) }
18+
else
19+
@app.call(env)
20+
end
21+
end
22+
end
23+
end

0 commit comments

Comments
 (0)