X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/454ee2b8f0385c542b6f1165a3baf2820425e1a3..6762d1501f67860180045bbce3e63ef573d07fec:/services/api/config/initializers/lograge.rb?ds=sidebyside diff --git a/services/api/config/initializers/lograge.rb b/services/api/config/initializers/lograge.rb index 07dba3aef4..9b422462b1 100644 --- a/services/api/config/initializers/lograge.rb +++ b/services/api/config/initializers/lograge.rb @@ -13,6 +13,21 @@ Server::Application.configure do 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)