【実務向け】Goログ出力の方法|logパッケージを使った開発入門

プログラム

Go でシステム開発を行う際、欠かせないのが「ログ出力」です。
ログは、エラー調査・障害対応・運用監視など、実務開発で非常に重要な役割を持っています。

本記事では、Goでのログ出力方法を「基本・ファイル出力・実務で使えるログ設計」まで初心者向けに解説します。


ログとは?

ログとは👇

👉 システムの動作記録


なぜログが重要なのか?

例えば👇

  • エラー原因調査
  • API監視
  • 不正アクセス確認
  • バッチ実行確認

👉 実務では必須


Go標準のlogパッケージ

import "log"

基本のログ出力

log.Println("アプリ起動")

エラーログ

log.Println("DB接続失敗")

Fatalログ

log.Fatal(err)

👉 ログ出力後に終了


Panicログ

log.Panic("重大エラー")

ファイル出力

file, err := os.OpenFile(
"app.log",
os.O_APPEND|os.O_CREATE|os.O_WRONLY,
0666,
)

log.SetOutput(file)

ログフォーマット変更

log.SetFlags(
log.Ldate |
log.Ltime |
log.Lshortfile,
)

JSONログ(実務向け)

{
"level": "INFO",
"message": "login success"
}

Zapで高速ログ

Zap

go get go.uber.org/zap

Zapログ例

logger.Info("ログイン成功")

実務で重要なポイント

✔ ログレベル管理

レベル用途
INFO通常
WARN警告
ERRORエラー
FATAL致命的

✔ 個人情報出力禁止

👉 Password禁止


✔ ログローテーション

👉 ファイル肥大化防止


実務での応用

  • API監視
  • バッチ監視
  • エラー分析
  • セキュリティ監査

よくある失敗

❌ ログ不足
❌ Password出力
❌ Error詳細不足


ベストプラクティス

  • JSONログ化
  • Level管理
  • File出力
  • Error統一

💡 結論

👉
「ログ品質=運用品質」

コメント

タイトルとURLをコピーしました