Merge branch '12167-workbench-request-id'
[arvados.git] / services / api / config / initializers / lograge.rb
1 # Copyright (C) The Arvados Authors. All rights reserved.
2 #
3 # SPDX-License-Identifier: AGPL-3.0
4
5 require 'safe_json'
6
7 Server::Application.configure do
8   config.lograge.enabled = true
9   config.lograge.formatter = Lograge::Formatters::Logstash.new
10   config.lograge.custom_options = lambda do |event|
11     payload = {
12       request_id: event.payload[:request_id],
13     }
14     exceptions = %w(controller action format id)
15     params = event.payload[:params].except(*exceptions)
16     params_s = SafeJSON.dump(params)
17     if params_s.length > Rails.configuration.max_request_log_params_size
18       payload[:params_truncated] = params_s[0..Rails.configuration.max_request_log_params_size] + "[...]"
19     else
20       payload[:params] = params
21     end
22     payload
23   end
24 end