lnav não reconhece nossos logs. Formato personalizado não parece ser aplicado.

1

Estou trabalhando na adição de um formato lnav para analisar os logs do aplicativo java de minhas empresas. Estou com dificuldade em conseguir que lnav os reconheça. Aqui está o que o meu arquivo de formato json parece até agora:

{
    "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"
            }
        ]
    }
}

O lnav ainda está pegando nossos arquivos de log como arquivos de log genéricos. Qualquer assistência e / ou recomendações seria muito apreciada.

    
por Andrew 07.06.2016 / 22:35

2 respostas

1

O problema estava na minha regex. Eu precisava abordar o caso em nossos logs em que o grupo de captura de origem não tinha um caractere: para os níveis de log ERROR ou WARN. Depois de adicionar o quantificador? Para o caractere:, consegui fazer com que o lnav pegasse o arquivo de log das empresas e aplicasse esse formato personalizado.

Esta supervisão destaca a necessidade de ter muito cuidado ao criar o regex.

    
por 14.06.2016 / 23:13
0

Parece que o lnav não está encontrando o arquivo de configuração. Você está colocando o arquivo de formato em um subdiretório do diretório ~ / .lnav / formats? Por exemplo:

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

Você pode ativar a depuração no lnav com o comando '-d < file >' opção. Isso deve lhe dar uma ideia de quais arquivos de configuração estão sendo encontrados e carregados.

    
por 10.06.2016 / 06:18