Как мне проанализировать поле 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}\|...

Другие вопросы по тегам