From cfb6b695915ba8d3e4aa268b3a2eb013450af75f Mon Sep 17 00:00:00 2001 From: Artem Bolshakov Date: Thu, 12 Oct 2017 15:24:54 +0300 Subject: [PATCH] Avoid overriding previously defined custom options for lograge. Fixes #749 --- .../lib/elasticsearch/rails/lograge.rb | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/elasticsearch-rails/lib/elasticsearch/rails/lograge.rb b/elasticsearch-rails/lib/elasticsearch/rails/lograge.rb index a8edd8084..1de935833 100644 --- a/elasticsearch-rails/lib/elasticsearch/rails/lograge.rb +++ b/elasticsearch-rails/lib/elasticsearch/rails/lograge.rb @@ -33,8 +33,18 @@ class Railtie < ::Rails::Railtie include Elasticsearch::Rails::Instrumentation::ControllerRuntime end + previous_lograge_custom_options = config.lograge.custom_options config.lograge.custom_options = lambda do |event| - { es: event.payload[:elasticsearch_runtime].to_f.round(2) } + previous_lograge_custom_options_hash = if previous_lograge_custom_options + if previous_lograge_custom_options.respond_to?(:call) + previous_lograge_custom_options.call(event) + else + previous_lograge_custom_options + end + else + {} + end + previous_lograge_custom_options_hash.merge(es: event.payload[:elasticsearch_runtime].to_f.round(2)) end end end