【ろぎんぐ】
ロギング(ログ出力) とは?
💡 プログラムの「航海日誌」をつける仕組み
📌 このページのポイント
ロギングって何のためにやるの?console.logでいいんじゃないの?
ログレベルって何?
ログの重要度を段階分けしたものだよ。DEBUG(開発用の詳細情報)、INFO(正常な動作記録)、WARN(警告)、ERROR(エラー発生)みたいに分かれているんだ。本番環境ではINFO以上だけ出して、調査が必要なときだけDEBUGに切り替える、という使い方をするよ。
ロギングで気をつけることってある?
構造化ログって何がいいの?
従来のテキストログは「2024-01-01 ERROR: ユーザー123のログインに失敗」みたいな文字列だけど、構造化ログはJSON形式で出力する。機械的に解析しやすいからElasticsearchやCloudWatch Logsで検索・集計・アラートが格段にやりやすくなるんだ。
ログの分析ってどうやるの?
ELKスタック(Elasticsearch + Logstash + Kibana)やGrafana Lokiが定番ツールだよ。複数サーバーのログを集約して、ダッシュボードで可視化・アラート設定ができる。分散システムではOpenTelemetryでトレースIDをログに付与し、1つのリクエストが複数サービスを通過した流れを追跡する「分散トレーシング」も重要になってきているよ。
まとめ:ざっくりこれだけ覚えればOK!
「ロギング」って出てきたら「プログラムの動作記録を残して後から確認できるようにすることだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「logging」 = 記録すること
💬 logは元々「航海日誌」のこと。船の速度を測るために丸太(log)を海に投げたのが語源だよ