diff options
author | Vipul A M <vipulnsward@gmail.com> | 2016-02-16 23:26:33 +0530 |
---|---|---|
committer | Prem Sichanugrist <s@sikac.hu> | 2016-02-26 12:08:51 -0500 |
commit | c8915ec335887e07a967f2688d30c800b80ee256 (patch) | |
tree | 47041911457445c63bd988623ae8e142bb78cef1 /actionview/lib | |
parent | 364e155f97f3144c06e10f045b7182ed6ee071a1 (diff) | |
download | rails-c8915ec335887e07a967f2688d30c800b80ee256.tar.gz rails-c8915ec335887e07a967f2688d30c800b80ee256.tar.bz2 rails-c8915ec335887e07a967f2688d30c800b80ee256.zip |
Added log "Rendering ...", when starting to render a template, to log that we have started to render something, at the very beginning.
This helps to easily identify queries from controller vs views
Fixes #23710
Diffstat (limited to 'actionview/lib')
-rw-r--r-- | actionview/lib/action_view/log_subscriber.rb | 9 | ||||
-rw-r--r-- | actionview/lib/action_view/renderer/template_renderer.rb | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/actionview/lib/action_view/log_subscriber.rb b/actionview/lib/action_view/log_subscriber.rb index aa38db2a3a..2d59033cb3 100644 --- a/actionview/lib/action_view/log_subscriber.rb +++ b/actionview/lib/action_view/log_subscriber.rb @@ -30,6 +30,15 @@ module ActionView end end + + def start_rendering(event) + info do + message = "Rendering #{from_rails_root(event.payload[:identifier])}" + message << " within #{from_rails_root(event.payload[:layout])}" if event.payload[:layout] + message + end + end + def logger ActionView::Base.logger end diff --git a/actionview/lib/action_view/renderer/template_renderer.rb b/actionview/lib/action_view/renderer/template_renderer.rb index 9d15bbfca7..fd550d95e1 100644 --- a/actionview/lib/action_view/renderer/template_renderer.rb +++ b/actionview/lib/action_view/renderer/template_renderer.rb @@ -50,6 +50,7 @@ module ActionView view, locals = @view, locals || {} render_with_layout(layout_name, locals) do |layout| + ActiveSupport::Notifications.instrument("start_rendering.action_view", identifier: template.identifier, layout: layout.try(:virtual_path)) instrument(:template, :identifier => template.identifier, :layout => layout.try(:virtual_path)) do template.render(view, locals) { |*name| view._layout_for(*name) } end |