golang/glog
可以按照等级将日志打印到标准错误输出或文件。
import "github.com/golang/glog"
go get github.com/golang/glog
文件:main.go
package main
import (
"flag"
"github.com/golang/glog"
)
func main() {
//
flag.Parse()
defer glog.Flush()
glog.Infoln("info") //
glog.V(1).Infoln("v1 info")
glog.V(2).Infoln("v2 info")
glog.V(2).Infoln("v3 info")
if glog.V(2) {
// 设置了 -v=2,将会打印
glog.Infoln("v2 info 1")
}
glog.Warningln("warning")
glog.Errorln("error")
// glog.Fatalln("fatal") // 将调用 os.Exit(2)
// glog.Exitln("exit") // 将调用 os.Exit(1)
// fmt.Println("will not print")
}
打印到标准错误输出:
go run main.go -logtostderr -v=2
打印到文件:
go run main.go -log_dir=./logs -v=2
同时打印到标准错误输出和文件:
go run main.go -log_dir=./logs -alsologtostderr -v=2
⚠️ 注意:
1、打印到文件需要确保log_dir
目录存在;
2、如果使用logtostderr
,则log_dir
无效(不会打印到文件)。