How do I set the log directory of glog from code
有谁知道如何在golang源代码中设置/修改日志目录?
我想在源代码中设置日志目录,而不是在cmdline中设置
我见过这种骇客:在代码中设置标志。
从代码设置日志级别也非常好。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | package main import ( "flag" "github.com/golang/glog" ) func main() { flag.Parse() glog.Info("hi_a") flag.Lookup("logtostderr").Value.Set("true") glog.Info("hi_b") flag.Lookup("log_dir").Value.Set("/path/to/log/dir") glog.V(4).Info("v4a") flag.Lookup("v").Value.Set("10") glog.V(4).Info("v4b") //etc. } >>> hi_b >>> v4b |
glog软件包是Google内部使用的日志软件包的转储。 Google使用命令行标志配置日志记录,这是该程序包支持的功能。
如果要通过代码设置目录,则应查看另一个日志包或派生该包。
变量
它只是不出口。 因此,您可以在glog实例的源代码中进行更改。 有点小巧,但不难。
首先,Glog依赖于包Flag。 如果您不导入它,则日志消息中将出现令人讨厌的警告。
如果您只需要一次设置参数,则非常简单。
1 2 3 | flag.Set("logtostderr","true") flag.Parse() glog.Infof("starting main program") |