ネストされたオブジェクトを含むJSONログの解析
リクエスト/レスポンス詳細、エラースタック、メタデータフィールドなどのネストされたオブジェクトを含む複雑なJSON構造化ログを解析します。
JSON
詳細な説明
JSONログのネストされたオブジェクト
本番環境のJSONログには、豊富なコンテキストデータを持つネストされたオブジェクトが含まれることがよくあります。パーサーはトップレベルの標準フィールドを抽出し、ネストされたオブジェクトを追加フィールドセクションにシリアライズして検査できるようにします。
例: APIリクエストログ
{
"timestamp": "2024-01-15T10:30:00.000Z",
"level": "error",
"logger": "api-handler",
"message": "Request failed with validation error",
"request": {
"method": "POST",
"path": "/api/users",
"body": {"name": "", "email": "invalid"}
},
"error": {
"code": "VALIDATION_ERROR",
"details": [
{"field": "name", "message": "Name is required"},
{"field": "email", "message": "Invalid email format"}
]
},
"requestId": "req-abc-123"
}
ネストされたフィールドの処理方法
- トップレベル標準フィールド —
timestamp、level、logger、messageがそれぞれの列に抽出 - ネストされたオブジェクト — JSON文字列にシリアライズされ、追加フィールドとして表示
- スカラー追加フィールド —
requestIdやdurationなどはそのまま追加フィールドに表示
相関ID
マイクロサービスアーキテクチャの一般的なパターンは、すべてのログエントリにrequestId(traceIdやcorrelationIdとも呼ばれる)を含めることです。解析済みログを検索する際、このIDでフィルタリングすることで、複数のサービスログをまたいで単一のリクエストを追跡できます。
ユースケース
ネストされたリクエスト/レスポンスオブジェクトの検査によるAPIリクエストバリデーション失敗のデバッグ、相関IDを使用したマイクロサービス間のリクエスト追跡、ネストされたエラー詳細オブジェクトによるエラーパターン分析、本番ログのシリアライズされたメタデータの検査。