在Go中使用内置的http模块时,我注意到http.ListenAndServe()
默认会对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”等前缀。
答案 0 :(得分:2)
它不会记录到stdout,如果已设置则记录到http服务器的ErrorLog
,否则记录到标准记录器(log中的非方法函数使用的记录器)。如果您已经拥有记录器,请构建一个http.Server
,将该记录器作为其ErrorLog
并在其上调用ListenAndServe
。否则,请使用log.SetOutput
更改标准日志的目标。