我在utils包的init()
方法中创建了全局Logger
。我应该关闭Go中的日志文件吗?
```
package utils
var Logger *log.Logger
func init() {
logFile, _ := config.Configure.String("log_file")
if len(logFile) == 0 {
appRoot, _ := os.Getwd()
logFile = filepath.Join(appRoot, "app_runtime.log")
}
f, err := os.OpenFile(logFile, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666)
//Look HERE!!!
if err != nil {
panic(err)
}
Logger = log.New()
//Log as JSON
Logger.Formatter = &log.JSONFormatter{}
//Output to stdout
//When production, use file
Logger.Out = f
// Only log the debug severity or above.
Logger.Level = log.DebugLevel
}
```
所以,我可以用这样的:
utils.Logger.Info("This is debug info")
我的问题是:我应该关闭日志文件?怎么样?
也许我不需要它,因为句柄将关闭可执行文件退出? – Nil
你使用哪种记录器包?标准的'log'软件包不会导出其'out'成员。 – putu
https://github.com/sirupsen/logrus – Nil