你的问题“怎么读 Debian Golang 日志”可能有几种理解,下面我分常见情况说明:
log 标准库写日志默认日志通常输出到:
go run main.go
日志会直接打印在终端。
如果 Golang 程序是通过 systemd 管理的:
journalctl -u your-service-name
实时查看:
journalctl -u your-service-name -f
比如代码里写了:
log.SetOutput(os.OpenFile("/var/log/app.log", ...))
查看日志:
cat /var/log/app.log
tail -f /var/log/app.log
less /var/log/app.log
Golang 默认日志格式类似:
2026/01/15 10:20:30 main.go:42: something wrong
含义:
时间文件:行号日志内容如果你用了第三方库(如 zap、logrus),格式可能是 JSON:
{"level":"error","msg":"db connect failed","time":"2026-01-15T10:20:30Z"}
dmesg | grep main
journalctl -xe
ls -l /var/log/
sudo chown -R youruser:youruser /var/log/app
示例:
data, err := os.ReadFile("/var/log/syslog")
if err != nil {
log.Fatal(err)
}
fmt.Println(string(data))
或用 bufio 逐行读:
f, _ := os.Open("/var/log/app.log")
scanner := bufio.NewScanner(f)
for scanner.Scan() {
fmt.Println(scanner.Text())
}
如果你能补充一下:
我可以给你更精准的命令。