温馨提示×

centos怎样远程看golang日志

小樊
34
2026-10-03 03:58:23
栏目: 编程语言

在 CentOS 上“远程看 Golang 日志”,通常取决于日志写在哪里以及你用什么方式远程连接。下面按常见场景给你一套实用方案。


一、先明确 Golang 日志在哪

常见情况:

  1. 直接输出到终端(stdout / stderr)
  2. 写到文件(如 /var/log/app.log)
  3. 用日志库写文件(logrus、zap 等)
  4. systemd 管理的服务

二、最常用:SSH 远程实时看日志

1️⃣ 看日志文件(最常见)

ssh user@centos_ip
tail -f /var/log/your_app.log

如果是 Golang 写的:

log.SetOutput(os.Stdout)
// 或
log.SetOutput(&lumberjack.Logger{
    Filename:   "/var/log/your_app.log",
})

2️⃣ 如果是 systemd 服务

journalctl -u your_app.service -f

Golang 程序只需输出到 stdout:

log.Println("hello")

三、远程“不 SSH”看日志(Web / 工具)

方案 1:用 Go 自带 HTTP 暴露日志(简单)

http.HandleFunc("/logs", func(w http.ResponseWriter, r *http.Request) {
    http.ServeFile(w, r, "/var/log/your_app.log")
})
http.ListenAndServe(":8080", nil)

浏览器访问:

http://centos_ip:8080/logs

⚠️ 生产环境要加鉴权


方案 2:用日志收集系统(推荐生产)

ELK / EFK

  • Filebeat 收集 /var/log/*.log
  • 发送到 Elasticsearch
  • Kibana 远程查看

Loki + Grafana(轻量)

  • Promtail 收集日志
  • Grafana 网页查看

四、实时同步日志到本地(开发用)

方法 1:rsync + tail

rsync -avz user@centos:/var/log/app.log ./
tail -f app.log

方法 2:sshfs 挂载

sshfs user@centos:/var/log ~/centos_logs
tail -f ~/centos_logs/app.log

五、Golang 程序建议(重要)

✅ 推荐做法:

  • 日志写文件 + stdout
  • 用 logrotate 切割
  • 生产环境用 zap / logrus

示例 logrotate:

/var/log/your_app.log {
    daily
    rotate 7
    compress
    missingok
}

六、我可以继续帮你的方向

你可以告诉我:

  • ✅ 是 开发调试 还是 生产环境
  • ✅ Golang 日志现在怎么打的
  • ✅ 是否允许开端口 / 用 Web

我可以直接给你可复制的配置或代码。

0 踩