检索 Golang 中的错误行号
当您在 Golang 代码中遇到错误时,记录它们以进行调试至关重要。但是,log.Fatal 本身并不提供发生错误的行号。这可能会使追踪错误源变得困难。
要解决此问题,您可以修改日志标志以包含行号信息。操作方法如下:
myLogger := log.New(os.Stdout, "", log.LstdFlags|log.Lshortfile)
log.SetFlags(log.LstdFlags | log.Lshortfile)
通过设置这些标志,日志输出现在将包含有问题的行代码:
import ( "log" ) func main() { log.SetFlags(log.LstdFlags | log.Lshortfile) log.Fatal("Error occurred on line 14 in file my_file.go") }
输出:
2022/09/20 13:52:15 my_file.go:14: Error occurred on line 14 in file my_file.go
这提供了更详细的错误消息,使识别和修复根本问题变得更加容易。请注意,此方法仅在出现致命错误(例如 log.Fatal)时才打印行号。对于其他日志级别(例如 log.Error),您可以使用 debug.PrintStack() 打印完整的调用堆栈。
以上是如何获取 Go 代码中的错误行号?的详细内容。更多信息请关注PHP中文网其他相关文章!