実務で活用しているアプリケーションログの設計方針
参考: 体系的に学ぶ 安全なWebアプリケーションの作り方5.4ログ出力
ログに記録すべきイベント
ログに記録すべきイベントは多すぎても少なすぎても駄目
一般的には以下に示す認証・アカウント管理や重要な情報や操作に関するイベントを記録する
- ログイン・ログアウト(失敗も含む)
- アカウントロック
- ユーザ登録・削除
- パスワード変更
- 重要情報の参照
- 重要な操作(物品の購入、送金、メール送信など)
ログフォーマット
ログの出力項目は、4W1H ( いつ | 誰が | どこで | 何を | どのように ) に従った以下の項目を取得する
- アクセス日時
- ログレベル ( debug | info | warn | error | fatal )
- リモートIPアドレス
- ユーザID
- アクセス対象(URL、ページ番号、スクリプトIDなど)
- 操作内容(閲覧、変更、削除など)
- 操作対象(リソースIDなど)
- メッセージ、トレース