Ruby Savon Gem更改日志记录配置

我尝试在针对WSDL运行时更改Savon上的日志记录,但是在更改日志记录级别方面却没有成功。

我阅读了文档: http : //rubiii.github.com/savon/#global_configuration

我这样做了:

Savon.configure do |config| config.log = false # disable logging config.log_level = :info # changing the log level config.logger = Rails.logger # using the Rails logger end 

它抱怨不知道配置意味着什么……任何想法?

您链接的文档适用于savon 0.8,您可能使用的是旧版本。 如有疑问,请转到源代码(路径依赖于平台)并检查代码/测试的执行方式:

 $ cd /usr/lib/ruby/gems/1.8/gems/savon-0.7.8 $ grep -lr log_level * lib/savon/logger.rb spec/savon/request_spec.rb $ cat spec/savon/request_spec.rb ... Savon::Request.log_level = :info ... 

至少从gem 'savon', '~> 2.3.0' ,您可以在实例化客户端时添加配置键。

 client = Savon.client( log_level: :debug, log: true, pretty_print_xml: true, wsdl: 'http://ws.cdyne.com/emailverify/Emailvernotestemail.asmx?wsdl' )