log丢失之谜

mac2024-03-11  53

    最近,遇到这样一个问题:

    a文件:

func main(){ log.Infof("begin") y := sub(100, 20) log.Infof("end, y is %d", y) return }

    b文件:

func sub(x, y int) int { log.Infof("sub begin") return x - y }

       结果是:

begin

end, y is 80

 

      奇怪了,怎么没有sub begin呢? 

      其实,这个很正常, log只是辅助, 当log与逻辑出现矛盾时,很有可能是log本身的问题。

      查了下,因为在b文件中import的log和a文件中import的不是同一个包,  这就能解释得通为什么b文件的log没有打印了。

 

      不同log包混打log, 很容易出现问题, 我有个同事前几天遇到过混打log的问题,程序还莫名其妙panic了, 查了大半天,查到怀疑人生。

 

      不多说。

 

 

 

涛歌依旧 认证博客专家 排名第一 点链接学人工智能 公众号免费领资料 ❤️零基础入门进阶人工智能 ❤️欢迎关注涛哥公众号,免费领海量学习资料。涛哥:毕业后就职于华为和腾讯。微信:ai_taogeyijiu
最新回复(0)