X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/16f704326f44fd1e5e5e60b936c9b5895d6a6ff8..cefc46389792e233ee5db00da2a22a68e54e0a69:/services/api/config/initializers/lograge.rb diff --git a/services/api/config/initializers/lograge.rb b/services/api/config/initializers/lograge.rb index ef4e428bff..9c0f766915 100644 --- a/services/api/config/initializers/lograge.rb +++ b/services/api/config/initializers/lograge.rb @@ -9,10 +9,26 @@ Server::Application.configure do config.lograge.formatter = Lograge::Formatters::Logstash.new config.lograge.custom_options = lambda do |event| payload = { + ClusterID: Rails.configuration.ClusterID, request_id: event.payload[:request_id], client_ipaddr: event.payload[:client_ipaddr], client_auth: event.payload[:client_auth], } + + # Lograge adds exceptions not being rescued to event.payload, but we're + # catching all errors on ApplicationController so we look for backtraces + # elsewhere. + if !Thread.current[:backtrace].nil? + payload.merge!( + { + exception: Thread.current[:exception], + exception_backtrace: Thread.current[:backtrace], + } + ) + Thread.current[:exception] = nil + Thread.current[:backtrace] = nil + end + exceptions = %w(controller action format id) params = event.payload[:params].except(*exceptions) @@ -38,8 +54,8 @@ Server::Application.configure do end params_s = SafeJSON.dump(params) - if params_s.length > Rails.configuration.max_request_log_params_size - payload[:params_truncated] = params_s[0..Rails.configuration.max_request_log_params_size] + "[...]" + if params_s.length > Rails.configuration.SystemLogs["MaxRequestLogParamsSize"] + payload[:params_truncated] = params_s[0..Rails.configuration.SystemLogs["MaxRequestLogParamsSize"]] + "[...]" else payload[:params] = params end