私は以下の形式のログを持っています。 2017-12-18 00:00:00,098 DEBUGテスト - テストクラス ログをlogstashとgrok filterで隠したいと思います。出力は次の形式で取得しています。grokとlogstshを使って "log 2017-12-18 00:00:00,098 DEBUG Test - In test class"を解析する方法
{
"@version" => "1",
"host" => "ip-172-30-0-112",
"path" => "/home/ubuntu/logstash-6.0.0/apl.log",
"@timestamp" => 2017-12-19T11:32:03.692Z,
"message" => "2017-12-18 00:00:00,098 DEBUG SdkTLSSocketFactory - Starting handshake",
"type" => "apache_access"
}
しかし、私はタイムスタンプ、ログレベル、クラス名、名前ログメッセージを含む解析ログを必要とします。
私は%{DATESTAMP:timestamp} %{WORD:level} %{WORD:location} \- %{GREEDYDATA}
を使用してログを解析しています。
私は何をしようとする表示されません。おそらく、出力として役立つものの例が役立ちます。 – baudsp
私は以下のフィールドを含む出力を期待しています。 { "@version" => "1"、 "host" => "ip-172-30-0-112"、 "path" => "/home/ubuntu/logstash-6.0.0/ "2017-12-18 00:00:00,098 DEBUG SdkTLSSocketFactory - ハンドシェークを開始する" "型" apl.log "、 " @timestamp "=> 2017-12-19T11:32:03.692Z、 "メッセージ "=>" 2017-12-18 00:00: "=> "apache_access" "ログレベル"=> "DEBUG" "クラス名"=> "SdkTLSSocketFactory" "LogMessageに"=> "の開始握手" }あなたの質問を更新しての代わりに、コメントでこれを入れて – user1949261
、それがやっとです読みやすい – baudsp