class SalesforceBulkQuery::Logger
Custom logger for Restforce that doesn't log tons of data.
Constants
- MAX_LOG_LENGTH
Public Class Methods
new(app, logger, options)
click to toggle source
Calls superclass method
# File lib/salesforce_bulk_query/logger.rb, line 11 def initialize(app, logger, options) super(app) @options = options @logger = logger || begin require 'logger' ::Logger.new(STDOUT) end end
Public Instance Methods
call(env)
click to toggle source
Calls superclass method
# File lib/salesforce_bulk_query/logger.rb, line 22 def call(env) debug('request') do dump :url => env[:url].to_s, :method => env[:method], :headers => env[:request_headers], :body => env[:body] ? env[:body][0..MAX_LOG_LENGTH] : nil end super end
dump(hash)
click to toggle source
# File lib/salesforce_bulk_query/logger.rb, line 40 def dump(hash) "\n" + hash.map { |k, v| " #{k}: #{v.inspect}" }.join("\n") end
on_complete(env)
click to toggle source
# File lib/salesforce_bulk_query/logger.rb, line 32 def on_complete(env) debug('response') do dump :status => env[:status].to_s, :headers => env[:response_headers], :body => env[:body] ? env[:body][0..MAX_LOG_LENGTH] : nil end end