From 296705e02e62c719e1051a1e0ab96f7636cdf36d Mon Sep 17 00:00:00 2001 From: Vladimir Kochnev Date: Fri, 26 Jun 2015 00:04:53 +0300 Subject: [PATCH] clean up middleware code & unsubscribe in the end --- lib/grape_logging/middleware/request_logger.rb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/grape_logging/middleware/request_logger.rb b/lib/grape_logging/middleware/request_logger.rb index 121fe9c..92a7517 100644 --- a/lib/grape_logging/middleware/request_logger.rb +++ b/lib/grape_logging/middleware/request_logger.rb @@ -7,7 +7,7 @@ module GrapeLogging start_time @db_duration = 0 - ActiveSupport::Notifications.subscribe('sql.active_record') do |*args| + @subscription = ActiveSupport::Notifications.subscribe('sql.active_record') do |*args| event = ActiveSupport::Notifications::Event.new(*args) @db_duration += event.duration end if defined?(ActiveRecord) @@ -15,12 +15,13 @@ module GrapeLogging def after stop_time - logger.info parameters(request, response) + logger.info parameters + ActiveSupport::Notifications.unsubscribe(@subscription) if @subscription nil end protected - def parameters(request, response) + def parameters { path: request.path, params: request.params.to_hash,