Class: GoogleDistanceMatrix::LogSubscriber

Inherits:
ActiveSupport::LogSubscriber
  • Object
show all
Defined in:
lib/google_distance_matrix/log_subscriber.rb

Overview

LogSubscriber logs to GoogleDistanceMatrix.logger by subscribing to gem’s intstrumentation.

NOTE: This log subscruber uses the default_configuration as it’s configuration.

This is relevant for example for the filter_parameters_in_logged_url configuration

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(logger: GoogleDistanceMatrix.logger, config: GoogleDistanceMatrix.default_configuration) ⇒ LogSubscriber

Returns a new instance of LogSubscriber.



11
12
13
14
15
16
17
18
19
# File 'lib/google_distance_matrix/log_subscriber.rb', line 11

def initialize(
  logger: GoogleDistanceMatrix.logger,
  config: GoogleDistanceMatrix.default_configuration
)
  super()

  @logger = logger
  @config = config
end

Instance Attribute Details

#configObject (readonly)

Returns the value of attribute config.



9
10
11
# File 'lib/google_distance_matrix/log_subscriber.rb', line 9

def config
  @config
end

#loggerObject (readonly)

Returns the value of attribute logger.



9
10
11
# File 'lib/google_distance_matrix/log_subscriber.rb', line 9

def logger
  @logger
end

Instance Method Details

#client_request_matrix_data(event) ⇒ Object



21
22
23
24
25
# File 'lib/google_distance_matrix/log_subscriber.rb', line 21

def client_request_matrix_data(event)
  url = event.payload[:filtered_url]
  logger.info "(#{event.duration}ms) (elements: #{event.payload[:elements]}) GET #{url}",
              tag: :client
end