在centos系統上搭建go語言日志系統,您可以選擇使用go標準庫log包或更強大的第三方庫,例如logrus或zap。以下分別提供基于標準庫log和logrus庫的示例:
方法一:使用Go標準庫log包
-
創建項目: 新建一個Go項目目錄(例如myapp),并在其中創建一個名為main.go的文件。
-
編寫代碼: 將以下代碼寫入main.go文件:
立即學習“go語言免費學習筆記(深入)”;
package main import ( "log" "os" ) func main() { // 創建日志文件 logFile, err := os.OpenFile("myapp.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) if err != nil { log.Fatalf("無法打開日志文件: %v", err) // 使用更清晰的錯誤信息 } defer logFile.Close() // 設置日志輸出到文件 log.SetOutput(logFile) // 設置日志前綴 log.SetPrefix("myapp: ") // 設置日志格式 log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile) // 記錄日志 log.Println("myapp啟動...") log.Printf("這是一個測試日志,包含數字: %dn", 42) log.Println("myapp結束...") }
方法二:使用logrus庫
- 安裝logrus: 使用以下命令安裝logrus庫:
go get github.com/sirupsen/logrus
- 編寫代碼: 修改main.go文件,使用logrus記錄日志:
package main import ( "os" "github.com/sirupsen/logrus" ) func main() { // 創建日志文件 logFile, err := os.OpenFile("myapp.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) if err != nil { logrus.Fatalf("無法打開日志文件: %v", err) // 使用更清晰的錯誤信息 } defer logFile.Close() // 設置日志輸出到文件 logrus.SetOutput(logFile) // 設置日志級別 logrus.SetLevel(logrus.DebugLevel) // 設置日志格式 logrus.SetFormatter(&logrus.TextFormatter{ FullTimestamp: true, }) // 記錄日志 logrus.Info("myapp啟動...") logrus.WithFields(logrus.Fields{ "number": 42, }).Info("這是一個測試日志,包含數字") logrus.Info("myapp結束...") }
- 運行程序和查看日志: 與方法一相同,執行go run main.go并使用tail -f myapp.log查看日志。
這兩個示例都展示了如何將日志寫入文件。您可以根據實際需求修改日志級別、格式和輸出位置。 logrus提供了更豐富的功能,例如結構化日志和自定義日志格式,使其更適合大型項目。 選擇哪個方法取決于您的項目復雜度和需求。