最近在使用golang开发中,并发量达到一定程度时就会发生panic,想看堆栈,但是因为是跑在k8中的程序,输出都是直接输出到标准输出的。也没有日志。
在本地调试的时候直接运行了go程序,输出也是一大堆,一下子就被刷掉了,所以要把输出输入到一个文件里。
一般这样
1 | command > filename // 把标准输出重定向到一个新文件中 |
但是这样,如果发生堆栈错误还是会直接输出到屏幕。无法保存。
使用以下方法
1 | command > filename 2>&1 // 把标准输出和标准错误一起重定向到一个文件中 |
这样即可保存标准输出和错误输出。如果把“>”换成”>>”就是追加输出到文件