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.
Playground do Regex Log Tester
JavaScript regular expression syntax. Matching updates as you type.
Tip: press Esc to release focus.
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.
-
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.
-
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.
-
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.
-
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.
-
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.
^(?<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.
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).
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.
O que é o Regex Log Tester?
É 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.
Meus dados saem do meu navegador em algum momento?
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.
Qual variante de regex ele usa?
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.
Como capturo campos como timestamp, level e message?
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 que meu padrão não corresponde ao longo de várias linhas?
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.
Ele pode me avisar sobre backtracking catastrófico?
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.
Como testo uma regex contra linhas de log online?
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.
Quais flags de regex devo usar para parsing de logs?
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.
Como escrevo uma regex para fazer parsing de logs de acesso do Apache ou do Nginx?
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.
Qual é a diferença entre um regex log tester e um tester de padrões grok?
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.