记录响应正文以进行日志记录

3
请查看这个playground。我正在尝试提供访问日志到我们的日志平台,但是现在我有些困惑。我已经成功获取了响应的状态码,但是现在我也对响应的内容长度感兴趣。但不幸的是,我真的不知道如何通过使用包装处理程序机制来获取/提取内容长度。非常感谢您的帮助。
1个回答

3
你已经拥有自定义的 ResponseWriter,所以只需要添加一个类似于以下函数的方法来覆盖 Write 并存储底层 writer 所写入的字节数: https://play.golang.org/p/dwWEs5KI_wM
func (lrw *loggingResponseWriter) Write(b []byte) (int, error) {
    n,err := lrw.ResponseWriter.Write(b)
    lrw.written  = lrw.written + n
    return n,err
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接