require "logger" require "nokogiri" require "savon/log_message" module Savon class Logger def initialize(device = $stdout) self.device = device end attr_accessor :device def log(, = {}) log_raw LogMessage.new(, filter, ).to_s end attr_writer :subject, :level, :filter def subject @subject ||= ::Logger.new(device) end def level @level ||= :debug end def filter @filter ||= [] end private def log_raw() subject.send(level, ) end end end