ログを出力ファイルの1行に1行ずつJSON形式で出力するカスタムアプリケーションを作成しています。これらのログを分析のためにAWS CloudWatchとSplunkの両方に入れたいと思います。私の質問は、ログラインにタイムスタンプを入れる標準的な場所は何ですか?それは、このようなJSONブロブの前に行く必要があります。タイムスタンプをJSONログに入れる場所
2016-05-30 10:13:00 { "field1": 6, "field2": "Hello world!", ...}
それとも、このようにJSONの内側に行く必要があります。
{"timestamp": "2016-05-30 10:13:00", "field1": 6, "field2": "Hello world!", ...}
Splunkは後者を好むようだ、とあなたがそれを言うならば、ログフォーマットがありますそれは元に不満そうです、あなたは、このようなエラーを取得し_json:
05-28-2016 16:29:17.973 +0100 ERROR JsonLineBreaker - JSON StreamId:18154196253238674442 had parsing error:Unexpected character: '-' - data_source=.....
しかし、CloudWatchの前者をしたいように見える、すなわち非JSの罰金であるログ行の最初のものとして、そのタイムスタンプを望んでいますONログが、JSONログの場合は表示されません。私は答えをどこからでも検索しようとしましたが、タイムスタンプの書式設定に関する記事がたくさんありますが、このJSON関連の質問は何も含まれていないようです。