Я не узнаю наши журналы. Пользовательский формат, кажется, не применяется.

938
Andrew

Я работаю над добавлением формата lnav для анализа журналов Java-приложений моей компании. Я сталкиваюсь с трудностями, пытаясь заставить их узнать их. Вот как выглядит мой файл формата json:

{ "company_serverlog" : { "title" : "Company Server Log", "description" : "Log format used by the application.", "url" : "http://www.google.com", "regex" : { "std" : { "pattern" : "^(?<timestamp>\\d\\d\\d\\d-\\d\\d-\\d\\d \\d\\d:\\d\\d:\\d\\d,\\d\\d\\d)\\|(?<level>DEBUG|ERROR|WARN|HEADER)\\|(?<orig>.+:)\\|(?<method>.+\\|)(?<body>.+)$" } }, "level-field" : "level", "level" : { "error" : "ERROR", "warning" : "WARN" }, "value" : { "orig" : { "kind" : "string", "identifier" : true }, "method" : { "kind" : "string", "identifier" : true }, "body" : { "kind" : "string", "identifier" : true } }, "sample" : [ { "line" : "2016-05-25 16:07:12,367|DEBUG|source of log msg:|com.company.package.file| Log message body here" } ] } } 

lnav по-прежнему выбирает наши файлы журнала как общие файлы журнала. Любая помощь и / или рекомендации будут с благодарностью.

1

2 ответа на вопрос

1
Andrew

The issue was with my regex. I needed to address the case in our logs where the origin capturing group did not have a : character for ERROR or WARN log levels. After adding the quantifier ? for the : character, I was able to get lnav to pick up our companies log file and apply this custom format.

This oversight highlights the need to be very careful when crafting regex.

Это может также помочь другим в будущем понять, какие / где правильные биты регулярных выражений были Journeyman Geek 7 лет назад 0
Спасибо за критику. Я отредактировал «ответ», чтобы отразить ваши предложения Andrew 7 лет назад 0
0
Timothy Stack

It sounds like lnav is not finding the config file. Are you placing the format file in a sub-directory of the ~/.lnav/formats directory? For example:

~/.lnav/formats/company_serverlog/format.json 

You can enable debugging in lnav with the '-d <file>' option. That should give you an idea of what config files are being found and loaded.

Хм ... Я дважды проверил вещи, которые вы упомянули Я проверил вывод lnav -d и похоже, что мой форматный файл загружается. Оказалось, была проблема с моим регулярным выражением Andrew 7 лет назад 0
Вы должны добавить репрезентативный набор строк в «примерный» список конфигурации формата, чтобы выявить любые проблемы с регулярными выражениями. При запуске lnav проверит строки примера по регулярным выражениям, чтобы убедиться, что они правильные, и, если они не верны, он выведет некоторые полезные сообщения, показывающие, где произошло несоответствие. Timothy Stack 7 лет назад 0

Похожие вопросы