我试图用Golang程序抛出错误,log.Fatal但同时log.Fatal也没有打印出log.Fatal运行行。无法访问名为log.Fatal的行号吗?即有没有办法在抛出错误时获取行号?
log.Fatal
我试图用谷歌搜索,但不确定如何。我能得到的最好的结果是打印堆栈跟踪信息,我认为这很好,但可能有点过多。我也不想debug.PrintStack()每次都需要行号时就写东西,我只是感到惊讶,没有任何内置函数可以用于这种log.FatalStackTrace()或非服装的东西。
debug.PrintStack()
log.FatalStackTrace()
另外,我不想制作自己的调试/错误处理工具的原因是,我不想让人们不得不学习如何使用我的特殊服装处理代码。我只想要一些标准,人们以后可以阅读我的代码,就像
“嗯,所以它抛出一个错误并执行X …”
了解我的代码的人越少越好:)
您可以在自定义记录仪上设置标志,也可以在默认值上设置为包含Llongfile或Lshortfile
Llongfile
Lshortfile
// to change the flags on the default logger log.SetFlags(log.LstdFlags | log.Lshortfile)