class Vonage::Logger
Public Class Methods
new(logger)
click to toggle source
# File lib/vonage/logger.rb, line 11 def initialize(logger) @logger = logger || ::Logger.new(nil) end
Public Instance Methods
log_request_info(request)
click to toggle source
# File lib/vonage/logger.rb, line 22 def log_request_info(request) @logger = T.let(@logger, T.nilable(T.any(::Logger, Vonage::Logger))) T.must(@logger).info do format('Vonage API request', { method: request.method, path: request.uri.path }) end end
log_response_info(response, host)
click to toggle source
# File lib/vonage/logger.rb, line 37 def log_response_info(response, host) T.must(@logger).info do format('Vonage API response', { host: host, status: response.code, type: response.content_type, length: response.content_length, trace_id: response['x-Vonage-trace-id'] }) end end
Private Instance Methods
format(message, hash)
click to toggle source
# File lib/vonage/logger.rb, line 52 def format(message, hash) return message if hash.nil? fields = hash.map { |key, value| "#{key}=#{value}" if value }.compact fields.unshift(message) fields.join(' ') end