Ruby Savon Gem更改日志记录配置

时间:2010-11-18 17:33:55

标签: ruby wsdl savon

我尝试在针对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

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

2 个答案:

答案 0 :(得分:4)

您链接的文档适用于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
...

答案 1 :(得分:2)

至少从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'
)