本文共 405 字,大约阅读时间需要 1 分钟。
最近,遇到这样一个问题:
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了, 查了大半天,查到怀疑人生。
不多说。
转载地址:http://ufrvi.baihongyu.com/