新手问题 如何在每一行自动的打印出requestid

elvin5 · 2017年07月28日 · 最后由 t0n9 回复于 2017年08月03日 · 196 次阅读

其实不光在分布式的情况下需要 requestID,在单体应用有个 requestid 也是不错的.每次都手工的解析 context 来获得 rid,然后手动的方式记录下来太蛋疼啦,有没有什么办法在每一行自动的打印出 requestid 呐?

更多原创文章干货分享,请关注公众号
  • 加微信实战群请加微信(注明:实战群):gocnio

自动是怎么定义的 ? 如果是每次打日志的时候自动加上 request id.. 我是自己包装一个 logger

type Logger interface {
    Infof(format string, args ...interface{})
}

type loggerImpl struct {
    reqInfo map[string]string
}

func New(ctx context.Context) Logger {
    // Extract request ID from context and return a new logger
}

func (l *loggerImpl) Infof(format string, args ...interface{}) {
    // Add request ID to your log message
}
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册