温馨提示×

怎样搜debian golang日志

小樊
47
2026-10-04 04:49:17
栏目: 编程语言

在 Debian 系统上查找和搜索 Golang 应用日志,通常取决于日志写在哪里。下面按常见场景给你一套实用方法。


一、先确认 Golang 日志在哪

Golang 程序常见日志位置:

  1. 标准输出 / 标准错误(最常见)

    • 直接运行:终端里
    • systemd 服务:被 journald 接管
  2. 写入文件

    • 如 /var/log/app.log
    • 或项目目录下的 logs/
  3. syslog

    • 使用 log/syslog

二、如果是 systemd 服务(最常见)

1️⃣ 查看日志

sudo journalctl -u your-service-name

2️⃣ 实时跟踪

sudo journalctl -u your-service-name -f

3️⃣ 按时间

sudo journalctl -u your-service-name --since "2024-01-01 00:00"
sudo journalctl -u your-service-name --since "1 hour ago"

4️⃣ 搜索关键字(如 error)

sudo journalctl -u your-service-name | grep -i error

三、如果是日志文件

1️⃣ 查找日志文件

sudo find / -name "*.log" 2>/dev/null

常见目录:

/var/log/
/opt/your-app/logs/
~/go/src/your-app/logs/

2️⃣ 查看并搜索

tail -f /var/log/app.log
grep -i "panic" /var/log/app.log

3️⃣ 按时间排序看最新

ls -lt /var/log/*.log

四、如果是 Docker 中的 Golang

docker logs container_name
docker logs -f container_name
docker logs container_name | grep error

五、Golang 程序自身日志设置建议

如果你是自己写的服务,推荐:

log.SetOutput(os.Stdout)

然后交给 systemd / Docker 管理日志。


六、快速排错命令合集

# 看服务状态
systemctl status your-service

# 看最近崩溃
journalctl -xe

# 看 Golang 进程
ps aux | grep your-app

如果你愿意,可以告诉我:

  • 是 自己写的 Golang 程序还是第三方
  • 是否用了 systemd / Docker / supervisor
  • 日志大概长什么样

我可以直接给你精确命令。

0 踩