pkg context, func RootContext() (*T, CancelFunc)
pkg context, func WithCancel(*T) (*T, CancelFunc)
pkg context, func WithContextLogger(*T, ContextLogger) *T
pkg context, func WithDeadline(*T, time.Time) (*T, CancelFunc)
pkg context, func WithLogger(*T, logging.Logger) *T
pkg context, func WithRootCancel(*T) (*T, CancelFunc)
pkg context, func WithTimeout(*T, time.Duration) (*T, CancelFunc)
pkg context, func WithValue(*T, interface{}, interface{}) *T
pkg context, method (*T) Deadline() (time.Time, bool)
pkg context, method (*T) Done() <-chan struct{}
pkg context, method (*T) Err() error
pkg context, method (*T) Error(...interface{})
pkg context, method (*T) ErrorDepth(int, ...interface{})
pkg context, method (*T) Errorf(string, ...interface{})
pkg context, method (*T) Fatal(...interface{})
pkg context, method (*T) FatalDepth(int, ...interface{})
pkg context, method (*T) Fatalf(string, ...interface{})
pkg context, method (*T) FlushLog()
pkg context, method (*T) Info(...interface{})
pkg context, method (*T) InfoDepth(int, ...interface{})
pkg context, method (*T) InfoStack(bool)
pkg context, method (*T) Infof(string, ...interface{})
pkg context, method (*T) Initialized() bool
pkg context, method (*T) LoggerImplementation() interface{}
pkg context, method (*T) Panic(...interface{})
pkg context, method (*T) PanicDepth(int, ...interface{})
pkg context, method (*T) Panicf(string, ...interface{})
pkg context, method (*T) V(int) bool
pkg context, method (*T) VDepth(int, int) bool
pkg context, method (*T) VI(int) interface {  Info(args ...interface{}); Infof(format string, args ...interface{}); InfoDepth(depth int, args ...interface{}); InfoStack(all bool);}
pkg context, method (*T) VIDepth(int, int) interface {  Info(args ...interface{}); Infof(format string, args ...interface{}); InfoDepth(depth int, args ...interface{}); InfoStack(all bool);}
pkg context, method (*T) Value(interface{}) interface{}
pkg context, type CancelFunc func()
pkg context, type ContextLogger interface { InfoDepth, InfoStack, VDepth, VIDepth }
pkg context, type ContextLogger interface, InfoDepth(*T, int, ...interface{})
pkg context, type ContextLogger interface, InfoStack(*T, bool)
pkg context, type ContextLogger interface, VDepth(*T, int, int) bool
pkg context, type ContextLogger interface, VIDepth(*T, int, int) ContextLogger
pkg context, type T struct
pkg context, var Canceled error
pkg context, var DeadlineExceeded error
