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

您的位置: 首页 > 文章列表 > 编程开发 > CentOS中Golang日志系统如何搭建

CentOS中Golang日志系统如何搭建

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

扫一扫,手机访问

在CentOS上搭建Golang日志系统,这事儿其实没那么复杂。跟着下面的步骤走,很快就能搞定。

CentOS中Golang日志系统如何搭建

1. 安装Golang

得先确认一下系统里有没有装好Golang。如果还没装,一行命令搞定:

sudo yum install golang

2. 创建Golang项目

接下来,创建一个项目目录,然后初始化一个Go模块:

mkdir myapp
cd myapp
go mod init myapp

3. 安装日志库

日志库的选择很关键。Go生态里,logruszap是两员大将,都很成熟。这里以logrus为例:

go get github.com/sirupsen/logrus

4. 编写日志代码

在项目目录下创建main.go,把下面的代码放进去:

package main

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

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

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

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

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

这段代码演示了如何设置日志级别、格式,以及记录不同级别的日志。日志库还支持带上自定义字段,方便排查问题。

5. 运行项目

在项目目录下直接运行:

go run main.go

控制台里就能看到JSON格式的日志输出了。

6. 配置日志输出

更常见的是把日志输出到文件里,方便持久化存储和后续分析。只需要创建一个文件,然后设置SetOutput即可:

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)

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

    // 记录日志
    logrus.Info("This is an info message")
}

7. 监控和日志管理

日志系统搭建好之后,还需要考虑怎么管理和监控。这里推荐两个方案:ELK堆栈和Prometheus。

使用ELK堆栈

ELK(Elasticsearch, Logstash, Kibana)是经典的日志收集分析方案。具体步骤如下:

  1. 安装Elasticsearch:

    sudo yum install elasticsearch
    sudo systemctl start elasticsearch
    sudo systemctl enable elasticsearch
  2. 安装Logstash:

    sudo yum install logstash
    sudo systemctl start logstash
    sudo systemctl enable logstash
  3. 安装Kibana:

    sudo yum install kibana
    sudo systemctl start kibana
    sudo systemctl enable kibana
  4. 配置Logstash:编辑/etc/logstash/conf.d/logstash.conf,添加上输入和输出插件的配置。

  5. 配置Golang应用:修改应用的日志输出,让它把日志发送到Logstash。

使用Prometheus

如果更关注监控指标,Prometheus是个好选择:

  1. 安装Prometheus:

    sudo yum install prometheus
    sudo systemctl start prometheus
    sudo systemctl enable prometheus
  2. 配置Prometheus:编辑/etc/prometheus/prometheus.yml,添加Golang应用的监控目标。

  3. 安装Golang Prometheus客户端库:

    go get github.com/prometheus/client_golang/prometheus
    go get github.com/prometheus/client_golang/prometheus/promhttp
  4. 编写Prometheus监控代码:在Golang应用中添加相应的监控指标。

通过以上步骤,就能在CentOS上搭建一个功能完善的Golang日志系统。后续还能根据实际需求,灵活地扩展和优化。

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

热门关注