Отключение эха от webrick

Как я могу отключить сообщения от вебрика, выводимые на терминал? Для сообщений INFO, которые появляются в начале, я смог отключить их, установив параметр Logger следующим образом:

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

Но я также хочу отключить сообщения, которые выглядят так:

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

при запросе из веб-браузера.


person sawa    schedule 17.06.2011    source источник
comment
Попробуйте установить для AccessLog значение false в параметрах конфигурации, насколько я могу судить по исходный код.   -  person Yet Another Geek    schedule 17.06.2011
comment
@Yet Another Geek Я пытался установить значение false и ноль, но это не сработало.   -  person sawa    schedule 17.06.2011
comment
@Еще один гик. Когда я установил его на [nil, nil], это сработало. Ваша ссылка помогла. Спасибо.   -  person sawa    schedule 17.06.2011


Ответы (1)


Перейдя по ссылке на источник и предложение, предоставленное Еще один выродок, я смог найти способ. Установите для параметра AccessLog значение [nil, nil] [] (изменено по предложению Роберта Уоткинса).

s = WEBrick::HTTPServer.new(
  Port: 3000,
  BindAddress: "localhost",
  Logger: WEBrick::Log.new("/dev/null"),
  AccessLog: [],
)
person sawa    schedule 17.06.2011
comment
На самом деле вам лучше передать пустой массив для AccessLog - например. AccessLog: [] Передача nil просто приводит к ошибке, которую вы не видите, потому что вы отправили свои журналы ошибок в /dev/null - person Robert Watkins; 04.02.2013
comment
Используйте Logger: WEBrick::Log.new(File.open(File::NULL, 'w')) для кроссплатформенного решения - person ens; 12.01.2016
comment
Для Rails отредактировано boot.rb: github.com/rails/rails/issues/28968#issuecomment -327099731 - person Pysis; 25.03.2019