diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index afaf48762..f540da41b 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -256,7 +256,7 @@ class ApplicationController < ActionController::Base user_id: current_user&.id, user_roles: current_user_roles, client_ip: request.headers['X-Forwarded-For'], - request_id: request.headers['X-Request-ID'] + request_id: Current.request_id }) if browser.known? diff --git a/app/controllers/recherche_controller.rb b/app/controllers/recherche_controller.rb index 63772f839..33ce5c5a7 100644 --- a/app/controllers/recherche_controller.rb +++ b/app/controllers/recherche_controller.rb @@ -71,6 +71,23 @@ class RechercheController < ApplicationController else return end + + rescue ActiveRecord::QueryCanceled => e + Sentry.capture_exception(e) + + logger = Lograge.logger || Rails.logger + + payload = { + message: 'search timeout', + user_id: current_user.id, + request_id: Current.request_id, + controller: self.class.name, + terms: @search_terms + } + + logger.info(payload.to_json) + + redirect_to recherche_index_path, alert: "La recherche n'a pas pu aboutir." end private