Pular para o conteúdo

Regex Log Tester · Logs

Teste a regex dos seus logs contra linhas reais.

Cole uma expressão regular e linhas de log de exemplo do Loki, Promtail ou Fluent Bit para testar a regex contra linhas de log de exemplo ao vivo — cada correspondência, grupo de captura e grupo nomeado se acende na hora no seu navegador, de graça e sem cadastro.

Roda no seu navegador Sem cadastro Grátis e aberto Atualizado em 29 de jul. de 2026

Playground do Regex Log Tester

(sample)

JavaScript regular expression syntax. Matching updates as you type.

Flags
sample.log

Tip: press Esc to release focus.

matches
highlighted
Matches

Enter a pattern above to see live matches, capture groups and named groups here.

A lacuna

Acerte o padrão antes que ele vá para produção.

Uma regex de parsing de logs costuma falhar em silêncio. Você coloca em produção um estágio regexp ou um parser pattern, faz o deploy, e só mais tarde percebe que um campo nunca foi preenchido ou que uma sequência inteira de linhas passou batido. O ciclo de feedback passa por um pipeline e por um dashboard em vez de passar pelo padrão que está bem na sua frente.

Este tester fecha esse ciclo. Cole as linhas exatas que você está analisando, observe as correspondências e os grupos nomeados se resolverem enquanto você edita, e conserte a expressão em segundos — antes que ela chegue a um arquivo de configuração. É o bloco de rascunho rápido que os grandes playgrounds de regex não são: orientado a linhas, ajustado para parsing de logs e seguro para logs sensíveis por padrão, porque tudo roda no lado do cliente e seus dados nunca saem da página.

Isso importa em dobro para padrões sugeridos por IA: um modelo escreve uma regex que parece certa e, em silêncio, corresponde às linhas erradas. Aqui o mecanismo real de regex do JavaScript roda contra a sua amostra de log de verdade, então as correspondências que você vê são a referência confiável, e não um palpite plausível.

Novo nos grupos de captura? Pule para as notas de sintaxe ou experimente o playground ao vivo acima.

O pipeline

Como funciona.

Cinco passos determinísticos rodam a cada edição — todos dentro da aba do seu navegador, toda vez.

  1. Compila o padrão.

    Sua expressão e suas flags são compiladas com o motor de regex nativo do navegador — o mesmo sobre o qual o seu código de front-end já roda.

  2. Divide as linhas de log.

    O bloco de exemplo é dividido em linhas individuais para que cada uma seja testada por conta própria, exatamente como um agente de log por linha a aplicaria.

  3. Corresponde cada linha.

    Cada linha é analisada em busca de correspondências. Com a flag global, cada correspondência de uma linha é encontrada, não apenas a primeira.

  4. Extrai os grupos.

    Para cada correspondência, o tester extrai os grupos de captura numerados e quaisquer grupos nomeados, prontos para serem lidos como campos.

  5. Renderiza ao vivo.

    As correspondências são destacadas no lugar e os grupos são listados abaixo, atualizando enquanto você edita — tudo sem sair da página.

Sintaxe

Um padrão, suas linhas, as flags.

O tester recebe duas entradas — uma expressão regular e um bloco de linhas de log — e aplica as flags padrão do JavaScript. Se você já escreveu um parser para qualquer agente de log, isto vai parecer familiar.

O padrão

Nomeie os campos que você quer extrair com grupos de captura (?<name>…). O tester lista cada grupo nomeado que capturou, do mesmo jeito que os parsers pattern / regexp do Loki e o estágio regex do Promtail transformam correspondências em labels.

pattern.re
^(?<ts>\d{4}-\d{2}-\d{2}T\S+)\s+
(?<level>INFO|WARN|ERROR)\s+
(?<logger>[\w.]+)\s+-\s+
(?<msg>.*)$

As linhas de log

Cole as linhas reais que você está analisando — uma por linha. Cada linha é testada por conta própria, então uma correspondência ou uma falha numa linha nunca afeta a seguinte. Coloque uma mistura representativa de amostras INFO, WARN e ERROR para confirmar que o padrão generaliza.

sample.log
2026-06-08T09:14:02Z INFO  app.checkout - order 4821 placed
2026-06-08T09:14:05Z WARN  app.payment  - retrying charge for order 4821
2026-06-08T09:14:07Z ERROR app.payment  - charge failed: gateway timeout
2026-06-08T09:14:09Z INFO  app.checkout - order 4821 cancelled

As flags

As flags mudam como o motor lê o seu padrão. Para parsing de logs por linha, as duas a que você mais vai recorrer são m (para que as âncoras se prendam a cada linha) e i (níveis insensíveis a maiúsculas e minúsculas).

flags.txt
g   global    find every match on a line, not just the first
i   ignore    case-insensitive matching (ERROR == error)
m   multiline ^ and $ anchor to each line, not the whole input
s   dotAll    . also matches newline characters
u   unicode   treat the pattern as a sequence of code points

Uma nota sobre as variantes

Este tester usa o motor de regex JavaScript (ECMAScript) do seu navegador. Muitos agentes de log — Loki, Promtail e o Grafana Agent — são escritos em Go e usam o motor RE2, que omite deliberadamente as referências para trás e o lookaround para garantir desempenho linear. As ferramentas baseadas em PCRE diferem mais uma vez. A sintaxe básica — classes, âncoras, quantificadores e grupos nomeados — é compartilhada, então esta é uma excelente primeira passagem; só confirme qualquer coisa exótica no seu motor de destino antes de colocá-la em produção.

FAQ

Suas perguntas, respondidas.

Toque em uma pergunta para expandir a resposta.

É uma ferramenta gratuita, executada no navegador, para testar uma expressão regular contra linhas de log reais. Você cola um padrão e um bloco de logs de exemplo, e ela destaca cada correspondência, lista cada grupo de captura e nomeia qualquer grupo nomeado — linha por linha. Foi feita especificamente para os padrões de parsing de logs que você escreve para Loki, Promtail, Grafana Agent, Fluent Bit, Logstash e afins.

Não. O tester roda 100% no lado do cliente usando o próprio motor de regex do seu navegador. Seu padrão e suas linhas de log são avaliados na página: nada é enviado para um servidor e não há conta nem cadastro. Você pode colar amostras de logs internos ou sensíveis com total segurança.

Ele usa o motor de expressões regulares do JavaScript (ECMAScript) embutido no seu navegador, então sintaxes como \d, classes de caracteres, âncoras, alternância, grupos nomeados ((?<name>…)) e flags como g, i, m e s se comportam exatamente como no JavaScript. A variante difere em alguns pontos do RE2 (usado pelos agentes de log baseados em Go, como Loki e Promtail) e do PCRE, então confirme sempre um padrão no seu motor de destino antes de colocá-lo em produção.

Use grupos de captura nomeados. Envolva cada campo que você quer extrair em (?<name>…) — por exemplo (?<ts>\S+) (?<level>\w+) (?<msg>.*). O tester lista cada grupo nomeado que capturou em cada linha correspondente, o que espelha como os parsers pattern/regexp do Loki e o estágio regex do Promtail transformam correspondências em labels.

Por padrão, o ponto (.) não corresponde a quebras de linha, e ^/$ correspondem ao início e ao fim de toda a entrada, e não a cada linha. Adicione a flag m para que ^ e $ se ancorem a cada linha, e a flag s (dotAll) se você precisar que . abranja quebras de linha. O tester avalia cada linha de log de forma independente, o que corresponde à maneira como a maioria dos agentes de log aplica uma regex por linha.

O tester executa seu padrão com uma proteção para que uma expressão patológica não congele a aba, e mostra um erro em vez de travar. Ainda assim, vale a pena evitar quantificadores aninhados sobre classes que se sobrepõem (a forma clássica (a+)+): esses podem ser lentos em qualquer motor, não só no navegador.

Cole suas linhas de log de exemplo e sua expressão regular nos campos de entrada, e então observe as correspondências se destacarem ao vivo enquanto você digita. O tester aplica o padrão a cada linha de forma independente, então você vê num relance quais linhas correspondem e quais não, sem rodar um pipeline nem implantar uma mudança de configuração. Como tudo roda no seu navegador, você pode testar contra amostras de logs reais ou redigidos sem precisar enviar nada.

Para a maior parte do trabalho de parsing de logs, comece com m (multiline) para que ^ e $ se ancorem a cada linha em vez de a toda a entrada, e g (global) para encontrar cada correspondência em vez de parar na primeira. O tester adiciona g automaticamente, então o modo de todas as correspondências está sempre ativo. Adicione i (insensível a maiúsculas e minúsculas) quando os níveis de log ou os métodos HTTP variarem em caixa, e s (dotAll) apenas quando uma correspondência precisar abranger uma quebra de linha dentro de uma única entrada de log.

Construa o padrão campo por campo — endereço IP, timestamp, método da requisição, caminho, código de status, tamanho da resposta — e use grupos nomeados como (?<ip>\S+) e (?<status>\d{3}) para rotular cada campo extraído. Cole várias linhas reais de logs de acesso no tester para verificar se o padrão corresponde a todas as variações antes de colocá-lo num estágio de pipeline do Promtail ou num filtro grok do Logstash. O tester mostra exatamente quais grupos corresponderam em cada linha, de modo que as lacunas ficam imediatamente visíveis.

Um regex log tester trabalha com expressões regulares puras — incluindo grupos de captura nomeados — diretamente contra as linhas de log. Um tester de grok usa macros nomeadas %{PATTERN:field} que compilam para regex em ferramentas como Logstash ou o stack Elastic. Se você quer controle total sobre o padrão subjacente, ou se o seu agente de log (como Loki ou Promtail) aceita um estágio regexp puro, um regex log tester é a ferramenta mais direta. Grok e regex pura são complementares: você pode prototipar aqui uma regex com grupos nomeados e depois traduzir os campos capturados para um pipeline compatível com grok.

More free, private DevOps tools.

O Regex Log Tester é uma ferramenta dentro do OpsCanopy — uma copa crescente de validadores, conversores e testers baseados no navegador que nunca tocam em um servidor.

Começando com Linux?  Leia o guia de Linux →

29 ferramentas gratuitas, todas capazes de funcionar offline — o opscanopy.com não exige cadastro e não envia nada.

Fazendo parsing de logs do Loki? Combine isto com o AlertLint, o tester unitário no estilo promtool para regras de alerta do Loki — ou explore o diretório de ferramentas completo.

Não afiliado nem endossado pela Grafana Labs. Loki, Promtail e Grafana são marcas registradas da Raintank, Inc.