Skip to content

Commit bf1ac69

Browse files
committed
Merge pull request rails#23915 from sikachu/pr-23710-update
Revise rails#23717 (Add "Rendering ..." message) using proper ActiveSupport::LogSubscriber#start
2 parents e0a225a + 82aa20a commit bf1ac69

File tree

3 files changed

+30
-3
lines changed

3 files changed

+30
-3
lines changed

actionview/CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
* Added log "Rendering ...", when starting to render a template to log that
2+
we have started rendering something. This helps to easily identify the origin
3+
of queries in the log whether they came from controller or views.
4+
5+
*Vipul A M and Prem Sichanugrist*
6+
17
## Rails 5.0.0.beta3 (February 24, 2016) ##
28

39
* Collection rendering can cache and fetch multiple partials at once.

actionview/lib/action_view/log_subscriber.rb

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,14 @@ def render_collection(event)
3030
end
3131
end
3232

33+
def start(name, id, payload)
34+
if name == "render_template.action_view"
35+
log_rendering_start(payload)
36+
end
37+
38+
super
39+
end
40+
3341
def logger
3442
ActionView::Base.logger
3543
end
@@ -54,6 +62,16 @@ def render_count(payload)
5462
"[#{payload[:count]} times]"
5563
end
5664
end
65+
66+
private
67+
68+
def log_rendering_start(payload)
69+
info do
70+
message = " Rendering #{from_rails_root(payload[:identifier])}"
71+
message << " within #{from_rails_root(payload[:layout])}" if payload[:layout]
72+
message
73+
end
74+
end
5775
end
5876
end
5977

actionview/test/template/log_subscriber_test.rb

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ def test_render_file_template
3535
@view.render(:file => "test/hello_world")
3636
wait
3737

38-
assert_equal 1, @logger.logged(:info).size
38+
assert_equal 2, @logger.logged(:info).size
39+
assert_match(/Rendering test\/hello_world\.erb/, @logger.logged(:info).first)
3940
assert_match(/Rendered test\/hello_world\.erb/, @logger.logged(:info).last)
4041
end
4142
end
@@ -45,7 +46,8 @@ def test_render_text_template
4546
@view.render(:text => "TEXT")
4647
wait
4748

48-
assert_equal 1, @logger.logged(:info).size
49+
assert_equal 2, @logger.logged(:info).size
50+
assert_match(/Rendering text template/, @logger.logged(:info).first)
4951
assert_match(/Rendered text template/, @logger.logged(:info).last)
5052
end
5153
end
@@ -55,7 +57,8 @@ def test_render_inline_template
5557
@view.render(:inline => "<%= 'TEXT' %>")
5658
wait
5759

58-
assert_equal 1, @logger.logged(:info).size
60+
assert_equal 2, @logger.logged(:info).size
61+
assert_match(/Rendering inline template/, @logger.logged(:info).first)
5962
assert_match(/Rendered inline template/, @logger.logged(:info).last)
6063
end
6164
end

0 commit comments

Comments
 (0)