context.go
func (c *contextT) With(keyvals ...interface{}) context.Context {
	return &contextT{ctx: newContext(c.ctx, keyvals)}
}
func (c *contextT) With(keyvals ...interface{}) context.Context {
	return &contextT{ctx: newContext(c.ctx, keyvals)}
}
// With returns a context.Context with the keyvals attached.