diff --git a/lib/log_overrider.rb b/lib/log_overrider.rb index 913ec6d79..17a6d8741 100644 --- a/lib/log_overrider.rb +++ b/lib/log_overrider.rb @@ -3,7 +3,7 @@ class ActionView::LogSubscriber message = "event=render " message << "template=#{from_rails_root(event.payload[:identifier])} " message << "layout=#{from_rails_root(event.payload[:layout])} " if event.payload[:layout] - message << "time=#{("%.1fms" % event.duration)}" + message << "ms=#{("%.1f" % event.duration)}" Rails.logger.info(message) end alias :render_partial :render_template @@ -22,10 +22,13 @@ class ActionController::LogSubscriber def process_action(event) payload = event.payload additions = ActionController::Base.log_process_action(payload) + params = payload[:params].except(*INTERNAL_PARAMS) log_string = "event=request_completed status=#{payload[:status]} " - log_string << "hstatus=#{Rack::Utils::HTTP_STATUS_CODES[payload[:status]]} time=#{"%.0fms" % event.duration} " - log_string << " (#{additions.join(" | ")})" unless additions.blank? + log_string << "controller=#{payload[:controller]} action=#{payload[:action]} format=#{payload[:formats].first.to_s.upcase} " + log_string << "ms=#{"%.0f" % event.duration} " + log_string << "params='#{params.inspect}' " unless params.empty? + log_string << "additions='#{additions.join(" | ")}'" unless additions.blank? Rails.logger.info(log_string) end diff --git a/spec/controllers/home_controller_spec.rb b/spec/controllers/home_controller_spec.rb index 4fe8f5893..4c363c168 100644 --- a/spec/controllers/home_controller_spec.rb +++ b/spec/controllers/home_controller_spec.rb @@ -50,6 +50,9 @@ describe HomeController do it 'logs params' do @line.include?("params='{\"lasers\"=>\"green\"}'").should be_true end + it 'logs format' do + @line.include?("format=html") + end end context 'completion' do context 'ok' do @@ -63,6 +66,18 @@ describe HomeController do it 'logs an ok' do @line.include?('status=200').should be_true end + it 'logs the controller' do + @line.include?('controller=HomeController').should be_true + end + it 'logs the action' do + @line.include?('action=show').should be_true + end + it 'logs params' do + @line.include?("params='{\"lasers\"=>\"green\"}'").should be_true + end + it 'does not log the view rendering time addition' do + @line.include?("(Views: ").should be_false + end end context 'redirected' do before do