2011-06-17 23 views
10

webrickから端末にエコーされたメッセージを無効にするにはどうすればよいですか?最初に表示されるINFOメッセージについては、私はようLoggerパラメータを設定することにより、それを無効にすることができました:webrickからエコーを無効にする

s = WEBrick::HTTPServer.new(
    Port: 3000, 
    BindAddress: "localhost", 
    Logger: WEBrick::Log.new("/dev/null"), 
) 

しかし、私はさらに次のようになり、メッセージを無効にしたい:

localhostと - - [17/6月/ 2011:10:01:38 EDT] "GET .... HTTP/1.1" 200 0 http://localhost:3000/ - > .....

要求がから作られている場合ウェブブラウザ。

+0

は、設定パラメータにfalseにACCESSLOGを設定してみてください、それは私の知る限り、[ソースコード](http://www.ruby-doc.org/stdlib/libdoc/webrick/rdocで見ることができるようです/classes/WEBrick/HTTPServer.html#M009708)。 –

+0

@もう別のオタク私は両方をfalseに設定してみましたが、それでも無しにしましたが、動作しませんでした。 – sawa

+0

@Yet Another Geek私が '' nil、nil ''に設定すると、うまくいきました。あなたのリンクが助けになりました。ありがとう。 – sawa

答えて

17

sourceへのリンクとYet Another Geekによって提唱された提案に続いて、私は方法を見つけ出すことができました。 AccessLogパラメータを [nil, nil] [](Robert Watkinsの提案に変更)に設定します。

s = WEBrick::HTTPServer.new(
    Port: 3000, 
    BindAddress: "localhost", 
    Logger: WEBrick::Log.new("/dev/null"), 
    AccessLog: [], 
) 
+1

実際には、AccessLogの空の配列を渡す方がよいでしょう。 AccessLog:[] エラーログを/ dev/nullに送信したために表示されないエラーが発生しました –

+1

'Logger:WEBrick :: Log.new(File.open File :: NULL、 'w')) 'クロスプラットフォームソリューション – ens

関連する問題