1

Я работаю над добавлением формата 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 по-прежнему выбирает наши файлы журнала как общие файлы журнала. Любая помощь и / или рекомендации будут с благодарностью.

2 ответа2

1

Проблема была с моим регулярным выражением. Мне нужно было указать случай в наших журналах, где у группы захвата источника не было символа: для уровней журнала ERROR или WARN. После добавления квантификатора? для персонажа: я смог заставить lnav взять файл журнала наших компаний и применить этот пользовательский формат.

Это упущение подчеркивает необходимость быть очень осторожным при создании регулярных выражений.

0

Похоже, lnav не находит файл конфигурации. Вы помещаете файл формата в подкаталог каталога ~/.lnav/format? Например:

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

Вы можете включить отладку в lnav с опцией '-d <file>'. Это должно дать вам представление о том, какие файлы конфигурации находятся и загружаются.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .