2013-03-06 3 views
5

को दूर एक ककड़ी परीक्षण मैं (परीक्षण के परिणाम के अलावा) हो रही है डिबग का एक बहुत चल रहा है जबकि/log रूप में संबंधित उत्पादन:ककड़ी/Savon छोड़ देते हैं या प्रवेश उत्पादन

D, [2013-03-06T12:21:38.911829 #49031] DEBUG -- : SOAP request: 
D, [2013-03-06T12:21:38.911919 #49031] DEBUG -- : Pragma: no-cache, SOAPAction: "", Content-Type: text/xml;charset=UTF-8, Content-Length: 1592 
W, [2013-03-06T12:21:38.912360 #49031] WARN -- : HTTPI executes HTTP POST using the httpclient adapter 
D, [2013-03-06T12:21:39.410335 #49031] DEBUG -- : <?xml version="1.0" encoding="UTF-8"?> 
<soap:Envelope 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
... 

वहाँ एक रास्ता है इस आउटपुट को बंद करने के लिए? मैं this post में निर्देशों का पालन की कोशिश की है, और मेरे config_spec.rb फ़ाइल है:

require "spec_helper" 

describe Savon::Config do 

    let(:config) { 
    config = Savon::Config.new 
    config._logger = Savon::Logger.new 
    config.log_level = :error  # changing the log level 
    HTTPI.log = false   # to total silent the logging. 
    config 

    } 

    describe "#clone" do 
    it "clones the logger" do 
     logger = config.logger 
     clone = config.clone 

     logger.should_not equal(clone.logger) 
    end 
    end 

    it "allows to change the logger" do 
    logger = Logger.new("/dev/null") 
    config.logger = logger 
    config._logger.subject.should equal(logger) 
    end 

    it "allows to change the log level" do 
    Savon::Request.log_level = :info 
    config.log_level = :error 
    config._logger.level.should == :error 
    end 

    it "allows to enable/disable logging" do 
    config.log = false 
    config._logger.should be_a(Savon::NullLogger) 
    config.log = false 
    config._logger.should be_a(Savon::Logger) 
    end 

end 

लेकिन प्रवेश भी दिखाई दे रहा है जब मैं ककड़ी परीक्षण चला।

+0

Savon किस संस्करण का उपयोग कर रहे हैं? 2.1.0? मुझे उम्मीद है कि आपने http://savonrb.com/version2.html#changes – Bala

+0

savon (1.2.0) की जांच की थी। इस संस्करण का उपयोग करना चाहिए (यह किसी तीसरे पक्ष से निर्भरता है) – obaqueiro

उत्तर

10

Savon API के लिए दस्तावेज़ को देख कर आप ऐसा करके प्रवेश मौन करने में सक्षम होने लगते हैं:

Savon.configure do |config| 
    config.log = false 
end 

स्निपेट के ऊपर अपने Cucumber World में या features/support/env.rb में क्रम में प्रवेश मौन करने में डाल दिया जा सकता है ककड़ी भी।

+2

धन्यवाद, यह << HTTPI.log = false >> के साथ जो मैं चाहता था हासिल किया। – obaqueiro

0

लॉग डिबगिंग के लिए उपयोगी हो सकता है। तो पूरी तरह से चुपचाप करने के बजाय उन्हें बेहतर रेल लॉग में रखना बेहतर हो सकता है।

यहाँ कैसे savon 2 में यह करने के लिए है:

# config/initializers/savon.rb 
HTTPI.logger = Rails.logger 

# when initializing client 
@client = Savon.client wsdl: '...', logger: Rails.logger 
संबंधित मुद्दे