ログ
読み: ろぐ
概要
ログ(ログ:システムやアプリで起きた出来事の記録)は、いつ・何が・誰によって・どこで起きたかを後から確認できるように残すデータです。障害対応、セキュリティ調査、利用状況の分析などに使われます。何のために取るか
- 障害対応:エラーの原因箇所や発生条件を特定する
- 監査:不正や設定変更の履歴を追跡する(監査(カンサ:不正や誤りの有無を確認すること))
- 運用改善:アクセス傾向や処理時間を分析して改善する
- 法令・規約対応:一定期間の証跡(しょうせき)を保存する必要がある場合に備える
主な種類
アプリケーションログ
アプリ内部の処理、例外、重要イベントなど。開発・運用の中心になるログ。アクセスログ
Webサーバー等へのリクエスト履歴(URL、ステータスコード、応答時間など)。エラーログ
失敗・例外・警告など、問題発見に直結する情報をまとめたログ。監査ログ
ログイン、権限変更、設定変更など「誰が何をしたか」を重視したログ。システムログ
OSやミドルウェアの状態、サービス起動/停止、リソース関連の記録。代表的な項目(例)
- timestamp:日時(時刻のズレ対策でUTCを使うことも多い)
- level:重要度(INFO / WARN / ERROR など)
- message:内容(人が読める説明)
- request_id / trace_id:1回の処理を追うためのID(相関ID)
- user_id:利用者識別子(個人情報の扱いに注意)
- ip / user_agent:アクセス元情報
- status / error_code:結果やエラー種別
- latency:処理時間
形式と設計のコツ
- 構造化ログ:JSONなどキー付きで出すと検索・集計しやすい
- 一貫したルール:項目名、時刻、レベル、ID付与を統一する
- 過不足の調整:必要な因果関係が追える最小限+調査に必要な文脈
保存・運用での注意点
- 個人情報・機密情報を入れすぎない
- ログ肥大化対策
- 改ざん耐性
- 可観測性の整理
関連用語
- ログレベル:記録の重要度の分類
- ロギング:ログを出力する仕組み・実装
- 監査ログ:操作履歴の証跡に特化したログ
- トレース:処理の流れを追う記録(トレース(トレース:処理経路の追跡))