标签: logging go
是否有任何方法可以将堆栈跟踪作为字符串?
查看调试包(https://golang.org/pkg/runtime/debug/),它只能打印到标准输出。
答案 0 :(得分:3)
runtime.Stack()将格式化的堆栈跟踪放入提供的[]byte。然后,您可以将其转换为字符串。
runtime.Stack()
[]byte
您还可以使用debug.Stack(),它分配足够大的缓冲区来保存整个堆栈跟踪,使用runtime.Stack将跟踪放入其中,然后返回缓冲区([]byte)。
debug.Stack()
runtime.Stack