Agentオブザーバビリティロガー
Notification中級Hookタイプ: notification
Agentオブザーバビリティロガーは、すべてのツール呼び出し、通知、セッションイベントを構造化されたJSONLログファイルに記録します。各エントリにはタイムスタンプ、ツール名、入力の要約、出力ステータス、トークン使用量が含まれます。これにより、セッション中にClaudeが何を行ったかを把握し、予期しない動作をデバッグし、時間の経過に伴うパターンを追跡し、コンプライアンス要件を満たすための完全な監査証跡が作成されます。ログは毎日自動ローテーションされ、任意のオブザーバビリティプラットフォームに転送できます。
ロギング監査オブザーバビリティデバッグコンプライアンス
Hookコード
#!/bin/bash
# Agent Observability Logger Hook
# Logs all Claude Code actions to structured JSONL
LOG_DIR="${HOME}/.claude/logs"
LOG_FILE="$LOG_DIR/agent-$(date +%Y-%m-%d).jsonl"
mkdir -p "$LOG_DIR"
TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
SESSION_ID="${CLAUDE_SESSION_ID:-unknown}"
# Build structured log entry
LOG_ENTRY=$(jq -n --arg ts "$TIMESTAMP" --arg session "$SESSION_ID" --arg tool "$TOOL_NAME" --arg event "$EVENT_TYPE" --arg input "$TOOL_INPUT" --arg output "$TOOL_OUTPUT" '{
timestamp: $ts,
session_id: $session,
tool: $tool,
event: $event,
input_preview: ($input | if length > 200 then .[:200] + "..." else . end),
output_preview: ($output | if length > 200 then .[:200] + "..." else . end)
}')
echo "$LOG_ENTRY" >> "$LOG_FILE"
# Rotate logs older than 30 days
find "$LOG_DIR" -name "agent-*.jsonl" -mtime +30 -delete 2>/dev/null
exit 0
このHookをClaude Code設定または.claude/settings.jsonに追加して有効化してください。
実行プレビュー
Agentオブザーバビリティロガー
Agentオブザーバビリティロガーについて
Claude Code Hooksは、Claude操作中の特定イベントに応じてカスタムシェルコマンドを自動実行します。Agentオブザーバビリティロガーは中級レベルのNotification Hookで、開発ワークフローの重要なタイミングでタスクを自動化し、手動ステップを削減してチーム全体の一貫性を維持します。