Я пытаюсь зарегистрировать дополнительные настраиваемые поля, используя Gem Logstasher.
Мне нужно зарегистрировать некоторые параметры ответа, но logstasher не поддерживает сами параметры регистрации, используя конфигурацию, поэтому я помещаю код в метод after_action в ApplicationController.
ApplicationController
after_action :set_logstasher_params
def set_logstasher_params
if LogStasher.enabled?
res_params = JSON.parse(response.body.as_json)
LogStasher.add_custom_fields do |fields|
fields[:res_params] = res_params
end
end
end
Это инициализатор logstasher
инициализатор / logstasher.rb
if LogStasher.enabled?
LogStasher.add_custom_fields do |fields|
fields[:request_params] = request.filtered_parameters
LogStasher::CustomFields.add(:myapi_runtime)
end
LogStasher.add_custom_fields_to_request_context do |fields|
fields[:request_params] = request.filtered_parameters
end
end
Проблема заключается в следующем: После запуска сервера rails первый отправляемый запрос регистрирует только те параметры, которые указаны в logstasher.rb, за исключением параметров, добавленных в ApplicationController.
Но после этого каждый запрос регистрирует все указанное logstasher.rb, а также метод ApplicationController.
Кто-нибудь имеет представление, почему в первый раз не регистрируются параметры ответа из метода ApplicationController?