在 CentOS 上“远程看 Golang 日志”,通常取决于日志写在哪里以及你用什么方式远程连接。下面按常见场景给你一套实用方案。
常见情况:
/var/log/app.log)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",
})
journalctl -u your_app.service -f
Golang 程序只需输出到 stdout:
log.Println("hello")
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
⚠️ 生产环境要加鉴权
/var/log/*.logrsync -avz user@centos:/var/log/app.log ./
tail -f app.log
sshfs user@centos:/var/log ~/centos_logs
tail -f ~/centos_logs/app.log
✅ 推荐做法:
logrotate 切割示例 logrotate:
/var/log/your_app.log {
daily
rotate 7
compress
missingok
}
你可以告诉我:
我可以直接给你可复制的配置或代码。