发布于2026-07-12 阅读(0)
扫一扫,手机访问
在 CentOS 上做 Golang 项目的日志管理,其实有不少成熟的套路。下面梳理了几个最常用的方法,从轻量到重型,按需选择就好。

直接用标准库 log 包
Golang 自带的 log 包虽然简单,但对于很多场景完全够用。比如,你只需要往标准输出写日志,或者想快速调试,它是最轻量的选择。示例:
package main
import (
"log"
"os"
)
func main() {
log.SetOutput(os.Stdout)
log.Println("Hello, World!")
}
引入第三方日志库,比如 logrus 或 zap
如果标准库满足不了你对日志级别、格式化、结构化输出的需求,那第三方库就是好帮手。以 logrus 为例,先安装:
go get github.com/sirupsen/logrus
然后在代码里用起来:
package main
import (
"github.com/sirupsen/logrus"
)
func main() {
logrus.SetFormatter(&logrus.TextFormatter{
FullTimestamp: true,
})
logrus.Info("Hello, World!")
}
这类库自带字段、钩子、格式化扩展,生产环境里用得最多。
日志轮转,别让日志撑爆磁盘
不管用哪个库,日志文件总会越攒越大。Linux 下最省事的方案就是 logrotate。前提是日志文件名里包含日期或时间戳(或者按大小切分),这样 logrotate 才能准确识别。
写一个配置文件,比如 /etc/logrotate.d/myapp:
/path/to/your/logs/*.log {
daily
rotate 7
compress
missingok
notifempty
create 0640 root root
}
配置的意思是:每天轮转一次,保留最近7天的日志,旧日志压缩起来,不存在的问题不报错,空的日志文件不处理,轮转后重新创建一个权限为0640的文件。直接扔到 /etc/logrotate.d/ 目录下,系统就会自动执行。
集中式日志管理,适合多机协作
当项目扩展到多台服务器,分散的日志会让问题排查变得头疼。这时候搭建一套集中式日志系统就比较实用。常见的方案有 ELK(Elasticsearch + Logstash + Kibana)和 EFK(Elasticsearch + Fluentd + Kibana)。
思路很简单:在 CentOS 上装好 Elasticsearch、Logstash 或 Fluentd、Kibana,然后调整 Golang 项目的日志输出,让它把日志发给集中式系统。比如用 logrus 配合 Elasticsearch 客户端:
package main
import (
"github.com/sirupsen/logrus"
"github.com/elastic/go-elasticsearch/v7"
"github.com/elastic/go-elasticsearch/v7/client"
)
func main() {
es, err := client.NewDefaultClient()
if err != nil {
logrus.Fatal(err)
}
logrus.SetFormatter(&logrus.JSONFormatter{})
logrus.Info("Hello, World!")
// Send log to Elasticsearch
req := esapi.IndexRequest{
Index: "myapp-logs",
DocumentID: "1",
Body: strings.NewReader(`{"message": "Hello, World!"}`),
}
res, err := req.Do(context.Background(), es)
if err != nil {
logrus.Fatal(err)
}
defer res.Body.Close()
if res.IsError() {
logrus.Errorf("Error indexing log: %s", res.String())
} else {
logrus.Info("Log indexed successfully")
}
}
这样每个应用实例的日志都会进入 Elasticsearch,再通过 Kibana 做可视化或搜索,效率会高很多。
以上四种方案,从个人开发到企业集群基本都能覆盖。选哪一种,主要看你的项目规模、运维要求以及团队习惯。小项目标准库 + logrotate 就够,中大型项目不妨试试 logrus 加集中式日志,收益相当明显。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8