请问 golang 自带的 server 怎么写请求日志

2018-12-27 12:04:54 +08:00
 noble4cc

就像 nginx 那样,自动的写 access 日志

我们有个项目是用 go 自带的 server,这个 server ’能配置他写类似的日志吗

3568 次点击
所在节点    Go 编程语言
24 条回复
danchleo
2018-12-27 12:57:30 +08:00
自己写个 handle 里面先写日志,然后再掉你的处理函数就可以了撒
jimrok
2018-12-27 13:40:58 +08:00
你需要一个日志库,看看 uber zap,把请求用日志库记录下来。
chinalichen
2018-12-27 14:25:38 +08:00
加个日志的 middleware 就可以了,类似下面这样:

func Handler(h http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
glog.Info("xxxxxx")
h.ServeHTTP(w, req)
})
}
chinalichen
2018-12-27 14:26:20 +08:00
这排版绝了。
chinalichen
2018-12-27 14:27:41 +08:00
请不要上班的时候点击代码中自动联想出来的链接,会很尴尬!!!
noble4cc
2018-12-27 14:29:13 +08:00
@chinalichen 我擦,老哥怎么会这样,怎么会这么巧合,你是故意的吧
g8287694
2018-12-27 14:30:36 +08:00
@chinalichen nb 啊老哥
mason961125
2018-12-27 14:30:50 +08:00
@chinalichen 哈哈哈哈哈大概率是做域名停放,然后就这样了哈哈哈哈哈哈哈哈。
chinalichen
2018-12-27 14:31:16 +08:00
v2 很过分啊,刚才我已经被同事 diss 了。
qiudays
2018-12-27 14:33:13 +08:00
start:= time.Now()
log.Printf(
"%s\t%s\t%q\t%s",
r.RemoteAddr // 客户端 IP 和端口
r.Method, // 请求方法
r.RequestURI, // 请求 URI 路径
r.Header, // 请求头
time.Since(start), // 响应时间
)
scukmh
2018-12-27 14:33:34 +08:00
卧槽,牛逼牛逼
@chinalichen 666
gogobody
2018-12-27 14:34:01 +08:00
@chinalichen 好奇心害死猫
misaka19000
2018-12-27 14:39:11 +08:00
@chinalichen #3。。。🐂🍺
xycool
2018-12-27 14:43:28 +08:00
@chinalichen #5 哈哈哈哈
privil
2018-12-27 15:15:40 +08:00
上面的老哥是自动 url 攻击么。恐怖,吓得瑟瑟发抖
waising
2018-12-27 15:18:00 +08:00
...秀的头疼
imshf
2018-12-27 15:18:33 +08:00
@chinalichen #3 老哥稳
mosliu
2018-12-27 15:26:44 +08:00
@chinalichen 这波稳~~
xuchaochao
2018-12-27 15:39:05 +08:00
牛逼。。。随手一打就是。。。。。
wenzhoou
2018-12-27 17:31:33 +08:00
赶紧注册 glog.dbug

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/521470

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX