在 Debian 上“导出 Golang 日志文件”通常有几种常见场景,下面按最常见用法给你说明,你可以对照自己的情况选择。
package main
import (
"log"
"os"
)
func main() {
file, err := os.OpenFile("/var/log/myapp.log",
os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644)
if err != nil {
log.Fatal(err)
}
defer file.Close()
log.SetOutput(file)
log.Println("程序启动")
}
✅ 日志就会直接写到:
/var/log/myapp.log
你可以用:
cat /var/log/myapp.log
或
tail -f /var/log/myapp.log
如果你的 Golang 程序是用 systemd 管理的:
sudo systemctl start myapp
journalctl -u myapp
journalctl -u myapp > myapp.log
实时导出:
journalctl -u myapp -f
运行程序时直接导出:
./myapp > myapp.log 2>&1
后台运行:
nohup ./myapp > myapp.log 2>&1 &
如 logrus / zap:
import "github.com/sirupsen/logrus"
func main() {
logrus.SetOutput(os.Stdout)
// 或
logrus.SetOutput(file)
}
/var/log/~/logs/journalctl如果你能告诉我:
我可以给你更精确的命令或配置。