在 Debian 系统上查找和搜索 Golang 应用日志,通常取决于日志写在哪里。下面按常见场景给你一套实用方法。
Golang 程序常见日志位置:
标准输出 / 标准错误(最常见)
写入文件
/var/log/app.loglogs/syslog
log/syslogsudo journalctl -u your-service-name
sudo journalctl -u your-service-name -f
sudo journalctl -u your-service-name --since "2024-01-01 00:00"
sudo journalctl -u your-service-name --since "1 hour ago"
sudo journalctl -u your-service-name | grep -i error
sudo find / -name "*.log" 2>/dev/null
常见目录:
/var/log/
/opt/your-app/logs/
~/go/src/your-app/logs/
tail -f /var/log/app.log
grep -i "panic" /var/log/app.log
ls -lt /var/log/*.log
docker logs container_name
docker logs -f container_name
docker logs container_name | grep error
如果你是自己写的服务,推荐:
log.SetOutput(os.Stdout)
然后交给 systemd / Docker 管理日志。
# 看服务状态
systemctl status your-service
# 看最近崩溃
journalctl -xe
# 看 Golang 进程
ps aux | grep your-app
如果你愿意,可以告诉我:
我可以直接给你精确命令。