在Debian系統中,自定義Golang日志格式可以通過使用標準庫"log"包或者第三方日志庫(如logrus、zap等)來實現。下面是使用標準庫"log"包自定義日志格式的示例:
main.go
的文件,并添加以下代碼:package main
import (
"log"
"os"
)
func main() {
// 創建一個日志輸出文件
logFile, err := os.OpenFile("logs.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.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)
// 記錄日志
log.Println("This is a log message")
}
go run main.go
這將在當前目錄下創建一個名為logs.log
的日志文件,其中包含自定義的日志格式。在這個例子中,我們設置了日志格式為:日期、時間、文件名和行號。
如果你想使用第三方日志庫,可以參考以下示例:
首先,安裝logrus庫:
go get github.com/sirupsen/logrus
然后,創建一個名為main.go
的文件,并添加以下代碼:
package main
import (
"github.com/sirupsen/logrus"
)
func main() {
// 創建一個日志實例
logger := logrus.New()
// 設置日志格式為JSON
logger.SetFormatter(&logrus.JSONFormatter{})
// 設置日志輸出到文件
file, err := os.OpenFile("logs.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
if err != nil {
logrus.Fatalf("error opening log file: %v", err)
}
logger.Out = file
// 記錄日志
logger.Info("This is an info message")
}
go run main.go
這將在當前目錄下創建一個名為logs.log
的日志文件,其中包含自定義的JSON格式日志。你可以根據需要修改日志格式和輸出選項。