在Debian系统中配置Golang日志,可以使用标准库"log"或者第三方日志库(如"logrus"、"zap"等)。以下是使用标准库"log"进行日志配置的方法:
sudo apt-get update
sudo apt-get install golang-go
main.go
的文件,并在其中编写以下代码:package main
import (
"log"
"os"
)
func main() {
// 创建或打开日志文件
logFile, err := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
if err != nil {
log.Fatalf("error opening log file: %v", err)
}
defer logFile.Close()
// 设置日志输出到文件
log.SetOutput(logFile)
// 设置日志前缀
log.SetPrefix("INFO: ")
// 记录日志
log.Println("This is an info log.")
log.Printf("This is a formatted %s log.", "info")
// 设置日志级别
log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)
// 记录错误日志
log.Println("This is an error log.")
}
main.go
文件:go run main.go
这将在当前目录下创建一个名为app.log
的日志文件,并将日志输出到该文件中。日志文件的内容类似于以下格式:
INFO: 2022/06/01 12:34:56 main.go:28: This is an info log.
INFO: 2022/06/01 12:34:56 main.go:29: This is a formatted info log.
INFO: 2022/06/01 12:34:56 main.go:33: This is an error log.
如果需要使用第三方日志库,可以参考其官方文档进行配置。例如,对于"logrus",可以参考以下代码:
package main
import (
"github.com/sirupsen/logrus"
)
func main() {
logrus.SetFormatter(&logrus.TextFormatter{
FullTimestamp: true,
})
logrus.Info("This is an info log.")
logrus.WithFields(logrus.Fields{
"animal": "walrus",
"size": 10,
}).Info("A group of walrus emerges from the ocean")
logrus.WithFields(logrus.Fields{
"omg": true,
"number": 100,
}).Warn("The group's number increased tremendously!")
logrus.WithFields(logrus.Fields{
"omg": true,
"number": 100,
}).Fatal("The ice breaks!")
}
更多关于Golang日志配置的信息,可以参考官方文档: