CentOS中Golang日志系统如何搭建
在CentOS上搭建Golang日志系统,需先安装Golang环境,创建项目并安装logrus库。通过代码配置日志级别、输出为JSON格式,并可设置日志轮转,将日志输出至文件。还可结合ELK堆栈或Prometheus进行日志管理与监控,实现日志收集、分析以及告警。
在CentOS上搭建Golang日志系统,这事儿其实没那么复杂。跟着下面的步骤走,很快就能搞定。

1. 安装Golang
得先确认一下系统里有没有装好Golang。如果还没装,一行命令搞定:
sudo yum install golang
2. 创建Golang项目
接下来,创建一个项目目录,然后初始化一个Go模块:
mkdir myapp
cd myapp
go mod init myapp
3. 安装日志库
日志库的选择很关键。Go生态里,logrus和zap是两员大将,都很成熟。这里以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)是经典的日志收集分析方案。具体步骤如下:
安装Elasticsearch:
sudo yum install elasticsearch sudo systemctl start elasticsearch sudo systemctl enable elasticsearch安装Logstash:
sudo yum install logstash sudo systemctl start logstash sudo systemctl enable logstash安装Kibana:
sudo yum install kibana sudo systemctl start kibana sudo systemctl enable kibana配置Logstash:编辑
/etc/logstash/conf.d/logstash.conf,添加上输入和输出插件的配置。配置Golang应用:修改应用的日志输出,让它把日志发送到Logstash。
使用Prometheus
如果更关注监控指标,Prometheus是个好选择:
安装Prometheus:
sudo yum install prometheus sudo systemctl start prometheus sudo systemctl enable prometheus配置Prometheus:编辑
/etc/prometheus/prometheus.yml,添加Golang应用的监控目标。安装Golang Prometheus客户端库:
go get github.com/prometheus/client_golang/prometheus go get github.com/prometheus/client_golang/prometheus/promhttp编写Prometheus监控代码:在Golang应用中添加相应的监控指标。
通过以上步骤,就能在CentOS上搭建一个功能完善的Golang日志系统。后续还能根据实际需求,灵活地扩展和优化。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。















