Как мне проанализировать поле log4j %M (имя метода), используя шаблон grok?
Ниже мой сценарий:
Не удалось получить идентификатор запроса "9bb0c7bcf81425fd6773", проанализированный в поле Request-ID?
Пример сообщения:
05/11/2016 10:55:43.167|INFO|com.abc.requestidgenerator.Tester$.main(UniqueIDGenerator.scala:95)|9bb0c7bcf81425fd6773|This is Debug Message
Шаблон Грока:
match => { "message" => "%{DATESTAMP:Date-Time}\|%{LOGLEVEL:Level}%{SPACE}\|%{NOTSPACE:Method}\|%{USERNAME:Request-ID}"}
Грокпаттерн выход
{
"@timestamp" => "2016-05-12T11:44:55.100Z",
"message" => "05/11/2016 10:55:43.167|INFO |com.abc.requestidgenerator.Tester$.main(UniqueIDGenerator.scala:95)|9bb0c7bcf81425fd6773|This is Debug Message...",
"Date-Time" => "05/11/2016 10:55:43.167",
"Level" => "INFO",
"Method" => "com.abc.requestidgenerator.Tester$.main(UniqueIDGenerator.scala:95)|9bb0c7bcf81425fd6773",
"Request-ID" => "This",
"ALCH_TENANT_ID" => "da5109ef-c1c0-499b-86ee-a8fd55203bb6"
}
1 ответ
Вместо того, чтобы использовать NOTSPACE
использование DATA
, NOTSPACE
пытается захватить все до пробела, но до вашего сообщения нет пробелов. DATA
будет лениво захватывать как можно меньше символов новой строки, не нарушая регулярное выражение.
...\|%{DATA:Method}\|...