12167: Include a request ID in each API response and log entry.
[arvados.git] / services / api / config / initializers / lograge.rb
index fa37ada24b3bb680127acc1557ccc8dc9e651303..cc7150f03a7cfc9542961ce8a1ca322186d46768 100644 (file)
@@ -8,13 +8,17 @@ Server::Application.configure do
   config.lograge.enabled = true
   config.lograge.formatter = Lograge::Formatters::Logstash.new
   config.lograge.custom_options = lambda do |event|
+    payload = {
+      request_id: event.payload[:request_id],
+    }
     exceptions = %w(controller action format id)
     params = event.payload[:params].except(*exceptions)
     params_s = SafeJSON.dump(params)
     if params_s.length > Rails.configuration.max_request_log_params_size
-      { params_truncated: params_s[0..Rails.configuration.max_request_log_params_size] + "[...]" }
+      payload[:params_truncated] = params_s[0..Rails.configuration.max_request_log_params_size] + "[...]"
     else
-      { params: params }
+      payload[:params] = params
     end
+    payload
   end
 end