Merge branch 'master' into 11453-federated-tokens
[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       client_ipaddr: event.payload[:client_ipaddr],
14       client_auth: event.payload[:client_auth],
15     }
16     exceptions = %w(controller action format id)
17     params = event.payload[:params].except(*exceptions)
18     params_s = SafeJSON.dump(params)
19     if params_s.length > Rails.configuration.max_request_log_params_size
20       payload[:params_truncated] = params_s[0..Rails.configuration.max_request_log_params_size] + "[...]"
21     else
22       payload[:params] = params
23     end
24     payload
25   end
26 end