跨越goroution(獲取其調用者堆棧):
https://stackoverflow.com/questions/10742749/get-name-of-function-using-reflection-in-golang
當前堆棧:
log.Infof("stack %s", f, debug.Stack())
全局堆棧:
buf := make([]byte, 1<<16)
runtime.Stack(buf, true)
log.Infof("[start all stack]---------------- %s ----------------[all stack end]", buf)