Class: ProviderKit::JsonClient::LogSubscriber

Inherits:
ActiveSupport::LogSubscriber
  • Object
show all
Defined in:
lib/provider_kit/json_client.rb

Overview

Provide a generic log subscriber for basic request details.

A more detailed log subscriber could be configured to log the request/response data too if needed later

Instance Method Summary collapse

Instance Method Details

#perform(event) ⇒ Object



61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/provider_kit/json_client.rb', line 61

def perform(event)
  request = event.payload[:request]
  ex = event.payload[:exception_object]

  if ex
    error do
      "Error performing json request (Request ID: #{ request.process_id }) in #{ event.duration.round(2) }ms: #{ ex.class } (#{ ex.message }):\n" + Array(ex.backtrace).join("\n")
    end
  else
    info do
      "Performed json request (Request ID: #{ request.process_id }) in #{ event.duration.round(2) }ms (#{ request.method.to_s.upcase } #{ request.url })"
    end
  end
end

#perform_start(event) ⇒ Object



53
54
55
56
57
58
59
# File 'lib/provider_kit/json_client.rb', line 53

def perform_start(event)
  info do
    request = event.payload[:request]

    "Performing json request (Request ID: #{ request.process_id }) #{ request.method.to_s.upcase } #{ request.url }"
  end
end