Go语言中有没有办法记录到不同级别的多个输出?
我希望有一个程序可以同时在Info级别记录到stdout并在带有时间戳的调试级别记录一个文件。
就像我每次编写代码一样:
log.Debug("Entering some func") res := func() log.Infof("Result was: %s", res)
我可以看到控制台打印:
Result was: Successful
和一个文件:
2015-03-26T01:27:38-04:00 [DEBU]: Entering some func 2015-03-26T01:27:38-04:00 [INFO]: Result was: Successful
我使用logrus和glog,但是找不到此功能。还有其他包装或我可以编码的东西吗?
Go-logging支持不同的日志记录后端,例如文件,syslog等。可以设置多个后端,每个后端和记录器具有不同的日志级别。这里的例子。
Lumberjack还可与此一起用于将日志写入滚动文件。这是一个例子。