在Linux環(huán)境下,為golang應(yīng)用配置日志的方式多樣,以下是兩種常見的方法:利用標(biāo)準(zhǔn)庫log包以及采用第三方日志庫logrus。
方式一:采用標(biāo)準(zhǔn)庫log包
首先,創(chuàng)建一個名為main.go的文件,并輸入如下代碼:
package main import ( "log" "os" ) func main() { // 設(shè)定日志記錄至文件 logFile, err := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) if err != nil { log.Fatal(err) } defer logFile.Close() // 日志信息同時顯示在文件與終端 log.SetOutput(io.MultiWriter(logFile, os.Stdout)) // 輸出日志信息 log.Println("這是一個普通日志。") log.Printf("這是一個格式化的 %s 日志。", "普通") }
接著,在終端執(zhí)行g(shù)o run main.go命令,程序會生成一個名為app.log的文件,且日志既寫入文件也顯示在終端。
立即學(xué)習(xí)“go語言免費學(xué)習(xí)筆記(深入)”;
方式二:選用第三方日志庫logrus
第一步,通過以下指令安裝logrus庫:
go get github.com/sirupsen/logrus
第二步,同樣創(chuàng)建一個名為main.go的文件,輸入以下代碼:
package main import ( "github.com/sirupsen/logrus" "os" ) func main() { // 日志輸出至文件 logFile, err := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) if err != nil { logrus.Fatal(err) } defer logFile.Close() // 日志信息同時出現(xiàn)在文件與終端 logrus.SetOutput(io.MultiWriter(logFile, os.Stdout)) // 定義日志級別 logrus.SetLevel(logrus.InfoLevel) // 記錄日志 logrus.Info("這是一個普通日志。") logrus.WithFields(logrus.Fields{ "動物": "海象", "數(shù)量": 10, }).Info("一群海象從海洋中浮現(xiàn)") }
最后,在終端運行g(shù)o run main.go,程序會生成一個名為app.log的文件,且日志既寫入文件也顯示在終端。
上述兩種方法均可實現(xiàn)Linux下Golang應(yīng)用的日志配置。依據(jù)具體需求,可以選擇適合的方法。若需更多功能或自定義選項,可考慮其他第三方日志庫,例如zap、zerolog等。