禁用webrick的echo

saw*_*awa 13 ruby logging echo webrick ruby-1.9

如何禁用来自webrick的消息回显到终端?对于INFO出现在开头的消息,我可以通过设置Logger参数来禁用它,以便:

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

但我还想禁用看起来像这样的消息:

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

当从Web浏览器发出请求时.

saw*_*awa 19

在链接到Yet Another Geek 提供的来源和建议之后,我能够找到一种方法.将AccessLog参数设置为(由Robert Watkins更改以下建议).[nil, nil] []

s = WEBrick::HTTPServer.new(
  Port: 3000,
  BindAddress: "localhost",
  Logger: WEBrick::Log.new("/dev/null"),
  AccessLog: [],
)
Run Code Online (Sandbox Code Playgroud)

  • 使用“Logger: WEBrick::Log.new(File.open(File::NULL, 'w'))”作为跨平台解决方案 (2认同)