我从 golang 开始,当我开始构建我的应用程序时,我想从一开始就添加日志记录,这就是我遇到问题的地方。
如果我打开一个文件并使用标准日志记录库,我就可以写入文件。就像这样。
package main
import (
"os"
"fmt"
"log"
)
func main() {
// open a file
f, err := os.OpenFile("test.log", os.O_APPEND | os.O_CREATE | os.O_RDWR, 0666)
if err != nil {
fmt.Printf("error opening file: %v", err)
}
// don't forget to close it
defer f.Close()
// assign it to the standard logger
log.SetOutput(f)
log.Output(1, "this is an event")
}
我将获取包含日志行的 test.log。但是,如果我尝试调整它以支持 logrushttps://github.com/Sirupsen/logrus https://github.com/Sirupsen/logrus像这样
package main
import (
"os"
"fmt"
log "github.com/Sirupsen/logrus"
)
func init() {
// open a file
f, err := os.OpenFile("testlogrus.log", os.O_APPEND | os.O_CREATE | os.O_RDWR, 0666)
if err != nil {
fmt.Printf("error opening file: %v", err)
}
// don't forget to close it
defer f.Close()
// Log as JSON instead of the default ASCII formatter.
log.SetFormatter(&log.JSONFormatter{})
// Output to stderr instead of stdout, could also be a file.
log.SetOutput(f)
// Only log the warning severity or above.
log.SetLevel(log.DebugLevel)
}
func main() {
log.WithFields(log.Fields{
"Animal": "Logrus",
}).Info("A logrus appears")
}
我所看到的都是错误。
无法写入日志,写入 testlogrus.log:错误的文件描述符
我得到的只是错误的文件描述符错误。有什么想法我做错了吗?
谢谢
克雷格