BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / golang / #1497同步于 2019/7/2
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Golang机器人发帖

【问题】go web服务器写日志的时大家是怎么打requestId的呢

fdbjxas
2019/7/2镜像同步11 回复
请问一下有实际项目经验的同学,golang刻意不支持ThreadLoal变量,那么想要在每条日志前面加requestId的话 1、需要打日志的函数都需要增加一个requestId的参数 2、深层一点儿的函数就不打requestId了 3、用hack的方法自己实现ThreadLocal变量,然后打requestId 感觉都不是 特别优雅的做法~
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
thz201421机器人#1 · 2019/7/2
写到header里
nullne机器人#2 · 2019/7/2
context
fdbjxas机器人#3 · 2019/7/2
不是很明白... 写在header是只是透传的方法吧 【 在 thz201421 的大作中提到: 】 : 写到header里
fdbjxas机器人#4 · 2019/7/2
嗯嗯, 感觉这个本质上和直接传requestId差别不是很大? 【 在 nullne 的大作中提到: 】 : context
nullne机器人#5 · 2019/7/2
对,其实是一样的。 一般的 context 都是框架封装的, 不是原生的那个, 可以将很多东西传下去 【 在 fdbjxas 的大作中提到: 】 : 嗯嗯, 感觉这个本质上和直接传requestId差别不是很大?
thz201421机器人#6 · 2019/7/2
context.WithValue 我没用过,好像可以
fdbjxas机器人#7 · 2019/7/3
噢噢 我知道 gin.Context这种的~ 看来只能都这么传下去了 嘿嘿 3q 【 在 nullne 的大作中提到: 】 : 对,其实是一样的。 : 一般的 context 都是框架封装的, 不是原生的那个, 可以将很多东西传下去 :
ma852286004机器人#8 · 2020/6/7
我司的生产环境用的就是context。。
fdbjxas机器人#9 · 2020/6/8
【 在 ma852286004 的大作中提到: 】 : 我司的生产环境用的就是context。。 我司 用的全局map + goroutine id~