问题很简单,我有一个这样的日志:

glog.v(5).Infof("xxx %v", getLogContent())

但是我的getLogContent(),这是一个耗时的方法,所以我想问:当我的程序不符合v(5)级别时,是否会执行getLogContent()

最佳答案

是的。

如果您不想运行getLogContent(),则应添加一个if语句

if glog.V(5) {
    glog.V(5).Infof("xxx %v", getLogContent())
}

Go会评估所有参数,因此如果未达到详细级别,则会调用getLogContent,但不会记录输出。

10-06 13:15