Sha256: 9ea0687b68aa515a189fb4edbf633a2a4345448a3c66fae85f930df8c5bb67b8
Contents?: true
Size: 1.12 KB
Versions: 1
Compression:
Stored size: 1.12 KB
Contents
# frozen_string_literal: true require 'forwardable' module MarketoApi class Middleware::Logger < Faraday::Middleware extend Forwardable def initialize(app, logger, options) super(app) @options = options @logger = logger || begin require 'logger' ::Logger.new($stdout) end end def_delegators :@logger, :debug, :info, :warn, :error, :fatal def call(env) debug('request') do dump :url => env[:url].to_s, :method => env[:method], :headers => env[:request_headers], :body => env[:body] end super end def on_complete(env) debug('response') do dump :status => env[:status].to_s, :headers => env[:response_headers], :body => env[:body] end end def on_error(exc) debug('response') do dump :details => "#{self.class.name}::#{__method__} - Exception: #{exc.message}", :backtrace => exc.backtrace.join("\n") end end def dump(hash) "\n" + hash.map { |k, v| " #{k}: #{v.inspect}" }.join("\n") end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
marketo_api-0.3.0.pre.alpha | lib/marketo_api/middleware/logger.rb |