在centos系统上搭建go语言日志系统,您可以选择使用go标准库log包或更强大的第三方库,例如logrus或zap。以下分别提供基于标准库log和logrus库的示例:
方法一:使用Go标准库log包
-
安装Go: 确保您的CentOS系统已安装Go语言环境。若未安装,请访问官方网站下载并安装对应版本的Go。
-
创建项目: 新建一个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("这是一个测试日志,包含数字: %d\n", 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提供了更丰富的功能,例如结构化日志和自定义日志格式,使其更适合大型项目。 选择哪个方法取决于您的项目复杂度和需求。










