在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结束...") }
-
运行程序: 在项目目录中执行go run main.go。这将创建一个名为myapp.log的日志文件。
-
查看日志: 使用tail -f myapp.log命令实时查看日志内容。
方法二:使用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提供了更丰富的功能,例如结构化日志和自定义日志格式,使其更适合大型项目。 选择哪个方法取决于您的项目复杂度和需求。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END