其他分享
首页 > 其他分享> > golang glog

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