【ろぎんぐ】
ロギング(ログ出力) とは?
最終更新:
💡 システムで起きたことを、後から調べられる記録にする
プログラムやシステムで起きた出来事、動作状況、エラーなどを記録すること。障害調査や監視に役立つ。記録する内容、出力先、保存期間、アクセス権は目的に合わせて設計する。
📌 このページのポイント
- 出来事の時刻、内容、結果などを記録する
- DEBUG・INFO・WARN・ERRORなどの段階は仕組みごとに定義される
- 標準出力、ファイル、収集サービスなどへ出せる
- 必要な情報を残しつつ、機密情報・保存量・保存期間を管理する
console.logで出すのもロギング?
ログレベルって何?
出来事の重要度などを段階で表すものだよ。例えばDEBUGは詳しい調査情報、INFOは出来事についての情報、WARNは警告、ERRORはエラーを表す。名前や段階は仕組みによって違うので、使うライブラリの定義と記録目的に合わせて設定するんだ。
何でも記録した方が調べやすい?
必要な出来事と、調査に使う項目を決めよう。パスワードやアクセストークンなどの秘密をそのまま出力しないことが大事だよ。出力が多すぎると保存量や処理負荷も増える。閲覧できる人や保存期間を決め、記録が止まっていないかも確認するんだ。
構造化ログはJSONのこと?
複数のサーバーで起きたことはどう追うの?
記録を集約し、時刻や出来事、処理の識別情報などで照合するよ。OpenTelemetryのログにはTraceIdやSpanIdを入れる項目があり、対応する処理との関連付けに使える。ただし任意の項目なので、導入しただけで全ログに自動で付くとは限らない。収集できる情報と設定を確認するんだ。
まとめ:ざっくりこれだけ覚えればOK!
「ロギング(ログ出力)」って出てきたら「システムで起きたことを、後から調べられる記録にする」と思えばだいたいOK!
📖 おまけ:英語の意味
「Logging」 = 記録を残すこと
💬 logは出来事などの記録、loggingは記録を残すこと。ここではプログラムやシステムで起きた出来事を扱うよ。