golang 日志打印后程序直接退出

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang 日志打印后程序直接退出相关的知识,希望对你有一定的参考价值。

参考技术A 在一段 http get 的程序中,如果出现错误,打印日志后会导致程序退出。

将 log.Fatal 修改为 log.Println 即可解决问题。

感觉一个函数做了本不该它做的事情,有些好奇,golang 设计者的设计哲学。

golang fatal error: concurrent map read and map write

调试程序的时候,为了打印map中的内容 ,直接 使用seelog 的方法打印 map中的内容到日志,结果出现 “concurrent map read and map write”的错误,导致程序异常退出,后来将代码注释后恢复正常。猜想了下是log 打印属于写操作,取出map内容的时候属于读操作,log记录的时候产生lock引发异常。

 

具体细节就没研究,先mark下。

 

以上是关于golang 日志打印后程序直接退出的主要内容,如果未能解决你的问题,请参考以下文章

当按q退出git log时,日志退出成功,但在下一个提示后还会打印“q”

Golang 日志接口应用实战

Golang 日志接口应用实战

怎么在发布版本后不打印Log日志

方法进入/退出时使用什么日志级别?

Go语言(十四)日志项目