溫馨提示×

CentOS Golang日志如何查詢

小樊
44
2025-09-26 13:26:11
欄目: 編程語言

CentOS系統下查詢Golang應用程序日志的常見方法

1. 直接查看日志文件(適用于自定義路徑的日志文件)

若Golang應用將日志輸出到指定文件(如/var/log/myapp.log),可使用tail命令實時查看新增日志,或用grep篩選特定內容:

  • 實時查看日志tail -f /path/to/your/app.log(按Ctrl+C停止);
  • 查看特定時間段日志:結合grepawk,例如查看2025-09-26的日志:grep '2025-09-26' /path/to/your/app.log | awk '{print $1, $2, $3}'(調整字段數量適配日志格式);
  • 查看最后N行tail -n 100 /path/to/your/app.log(顯示最后100行)。

2. 通過systemd服務查看日志(適用于以systemd管理的應用)

若Golang應用以systemd服務(如my-golang-app.service)運行,可使用journalctl命令查詢系統日志:

  • 實時查看服務日志journalctl -u my-golang-app.service -f;
  • 查看指定時間范圍的日志journalctl -u my-golang-app.service --since "2025-09-26" --until "2025-09-27";
  • 過濾關鍵字journalctl -u my-golang-app.service | grep 'error'(篩選含“error”的日志行)。

3. 查看標準輸出/錯誤(適用于直接運行的應用)

若Golang應用直接在終端運行(未重定向日志),其輸出會顯示在當前終端。若需查看歷史輸出:

  • 若進程仍在運行:可通過ps aux | grep your_go_app找到進程ID(PID),再用journalctl -p <PID> -f查看;
  • 若進程已結束:標準輸出/錯誤可能已丟失,建議提前將日志重定向到文件(如./your_app > app.log 2>&1)。

4. 使用Docker容器查看日志(適用于容器化部署的應用)

若Golang應用運行在Docker容器中,可通過docker logs命令查看容器日志:

  • 實時查看容器日志docker logs -f <container_id_or_name>;
  • 查看最后N行docker logs --tail 100 <container_id_or_name>;
  • 篩選關鍵字docker logs <container_id_or_name> | grep 'warning'。

注意事項

  • 權限問題:若日志文件或systemd服務屬于root用戶,需用sudo提升權限(如sudo journalctl -u my-golang-app.service);
  • 日志路徑確認:若不確定日志文件路徑,可通過應用代碼(如logrusFilename配置)或lsof -p <PID> | grep log命令查找;
  • 日志輪轉:長期運行的應用建議配置日志輪轉(如使用lumberjack庫或logrotate工具),避免日志文件過大。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女