ログ

読み: ろぐ

ログ:システムの出来事や操作を時系列で記録したデータ

ログ

概要

ログ(ログ:システムアプリで起きた出来事の記録)は、いつ・何が・誰によって・どこで起きたかを後から確認できるように残すデータです。障害対応、セキュリティ調査、利用状況の分析などに使われます。

何のために取るか

  • 障害対応エラーの原因箇所や発生条件を特定する
  • 監査:不正や設定変更の履歴を追跡する(監査(カンサ:不正や誤りの有無を確認すること))
  • 運用改善:アクセス傾向や処理時間を分析して改善する
  • 法令・規約対応:一定期間の証跡(しょうせき)を保存する必要がある場合に備える

主な種類

アプリケーションログ

アプリ内部の処理、例外、重要イベントなど。開発・運用の中心になるログ。

アクセスログ

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付与を統一する
  • 過不足の調整:必要な因果関係が追える最小限+調査に必要な文脈

保存・運用での注意点

  • 個人情報・機密情報を入れすぎない
- パスワード、トークン、クレカ番号などは絶対に記録しない - 必要ならマスキング(伏字化)やハッシュ化を検討
  • ログ肥大化対策
- ローテーション(世代管理)と圧縮、保持期間の設計
  • 改ざん耐性
- 監査ログは特に、権限分離・追記専用・外部保管などを検討
  • 可観測性の整理
- ログは「出来事の証跡」、メトリクスは「数値の傾向」、トレースは「処理の経路」を見る、と役割を分けると運用しやすい

関連用語

  • ログレベル:記録の重要度の分類
  • ロギング:ログを出力する仕組み・実装
  • 監査ログ:操作履歴の証跡に特化したログ
  • トレース:処理の流れを追う記録(トレース(トレース:処理経路の追跡))