2017-02-22 13 views
0

При использовании встроенного http-модуля в Go, я замечаю, что http.ListenAndServe() будет делать звонки по протоколу stdout по умолчанию. Главное, показывая в моем терминале:Стандартная библиотека http-протоколов к стандарту stdout по умолчанию, могу ли я отключить это?

http: TLS handshake error from x.x.x.x:x: tls: client offered an unsupported, maximum protocol version of 301. 

Теперь я понимаю, что эта ошибка и каковы его причины, но факт вопроса, я не особенно заботиться.

Как я могу остановить http-пакет (или ListenAndServe(), что угодно) от входа в стандартную версию stdout? Это забивает мою симпатичную консоль. Я на 95% уверен, что я не тот, кто регистрирует сообщения, поскольку у всех журналов, которые у меня установлены, есть префиксы «INFO», «WARNING» и т. Д.

ответ

2

Он не регистрируется в stdout, он регистрируется на сервере http ErrorLog, если он установлен, и в стандартном логере (тот, который используется функциями не-метода в log). Если у вас уже есть регистратор, постройте http.Server с этим регистратором как ErrorLog и позвоните по телефону ListenAndServe. В противном случае используйте log.SetOutput, чтобы изменить назначение стандартного журнала.

+0

Спасибо, я знал, что это будет что-то прямое, но мне было довольно сложно найти ответ Google для этого. –