商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 如何在CentOS上集成Golang日志系统

如何在CentOS上集成Golang日志系统

  发布于2026-07-17 阅读(0)

扫一扫,手机访问

在CentOS上搭建Golang日志系统,说白了就是选一个趁手的日志库,然后把它接入你的项目。市面上常用的方案无非就是logruszapzerolog这几款,它们各有侧重,但今天咱们以logrus为例,走一遍完整的集成流程。

如何在CentOS上集成Golang日志系统

步骤1:安装Golang

先别急着写代码,得确保机器上已经装好了Go环境。如果还没装,操作起来也不复杂:

# 安装依赖包
sudo yum install -y wget git
# 下载Golang安装包
wget https://golang.org/dl/go1.17.6.linux-amd64.tar.gz
# 解压安装包
sudo tar -C /usr/local -xzf go1.17.6.linux-amd64.tar.gz
# 设置环境变量
echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.bashrc
source ~/.bashrc
# 验证安装
go version

跑完这几步,用go version确认一下,看到版本号就说明环境就绪了。

步骤2:创建Golang项目

新建一个目录,比如my-logging-project,然后初始化模块:

mkdir my-logging-project
cd my-logging-project
go mod init my-logging-project

步骤3:添加logrus依赖

go getlogrus拉下来:

go get github.com/sirupsen/logrus

步骤4:编写日志示例代码

创建一个main.go文件,把下面的代码放进去。这段代码演示了如何设置日志级别、格式化输出以及记录不同级别的日志:

package main

import (
    "github.com/sirupsen/logrus"
)

func main() {
    // 设置日志级别
    logrus.SetLevel(logrus.DebugLevel)

    // 创建一个新的日志实例
    logger := logrus.New()

    // 设置日志格式为JSON格式
    logger.SetFormatter(&logrus.JSONFormatter{})

    // 记录不同级别的日志
    logger.Debug("This is a debug message")
    logger.Info("This is an info message")
    logger.Warn("This is a warning message")
    logger.Error("This is an error message")

    // 记录带有字段的日志
    logger.WithFields(logrus.Fields{
        "animal": "walrus",
        "size":   10,
    }).Info("A group of walrus emerges from the ocean")
}

步骤5:运行项目

在项目目录下执行go run main.go,正常情况下你会看到类似下面的输出——每条日志都带时间戳、级别和消息,而且最后那条还额外设上了animalsize字段:

time="2023-04-01T12:34:56Z" level=debug msg="This is a debug message"
time="2023-04-01T12:34:56Z" level=info msg="This is an info message"
time="2023-04-01T12:34:56Z" level=warn msg="This is a warning message"
time="2023-04-01T12:34:56Z" level=error msg="This is an error message"
time="2023-04-01T12:34:56Z" level=info msg="A group of walrus emerges from the ocean" animal=walrus size=10

步骤6:配置日志输出

默认情况下日志是输出到标准输出,但实际项目中往往需要写到文件里。下面的代码演示了如何将日志重定向到app.log文件:

package main

import (
    "github.com/sirupsen/logrus"
    "os"
)

func main() {
    // 创建日志文件
    file, err := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
    if err != nil {
        logrus.Fatal(err)
    }
    defer file.Close()

    // 设置日志输出到文件
    logrus.SetOutput(file)

    // 设置日志级别
    logrus.SetLevel(logrus.DebugLevel)

    // 创建一个新的日志实例
    logger := logrus.New()

    // 设置日志格式为JSON格式
    logger.SetFormatter(&logrus.JSONFormatter{})

    // 记录不同级别的日志
    logger.Debug("This is a debug message")
    logger.Info("This is an info message")
    logger.Warn("This is a warning message")
    logger.Error("This is an error message")
}

运行这个程序后,所有日志都会被写入app.log文件,而不是刷在终端屏幕上。当然,你也可以根据实际需求进一步调整输出格式、日志轮转或者添加自定义Hook——logrus的扩展性相当不错。

至此,在CentOS上集成Golang日志系统的核心步骤就走完了。从环境搭建到代码编写,再到输出配置,整个链路清晰干脆。剩下的就是把它嵌入你自己的业务逻辑里,按需调整日志级别和字段,让日志真正成为你排查问题的利器。

本文转载于:https://www.yisu.com/ask/77538108.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注