golang glog
作者:互联网
原文链接:https://blog.csdn.net/u010857876/article/details/79094942
Flush
log 产生后,会暂存在内存的buffer中。只有显示的调用 glog.Flush(), 数据才会真正被写入文件。glog package 的 init 函数中启动了一个 go routine 用来周期性的调用 glog.Flush() 来保证数据被写入文件, 默认的 Flush 周期为30 秒。
当程序运行至 glog.Fatal() 时, glog package 中保证了在退出前程序前会将所有缓存中的log写入文件。但是对于 Info, Warning 以及 Error, 如果程序正常退出,那么在程序退出前 30 秒的 log 就会丢失。defer 可以被用来防止这种情况的发生。
package main
import "github.com/golang/glog"
func main() {
defer glog.Flush()
glog.Info("Testing glog.")
}
参考文献
https://godoc.org/github.com/golang/glog
标签:log,package,写入,glog,golang,Flush 来源: https://www.cnblogs.com/lajiao/p/11690681.html