Regex Log Tester · Logs
Testez votre regex de logs sur de vraies lignes.
Collez une expression régulière et des lignes de log Loki, Promtail ou Fluent Bit d’exemple pour tester votre regex sur des lignes de log en direct — chaque correspondance, groupe de capture et groupe nommé s’illumine instantanément dans votre navigateur, gratuitement et sans inscription.
S’exécute dans votre navigateur — rien de ce que vous collez ne quitte cette page. Comment nous le prouvons
Espace d’essai 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.
Le manque
Obtenez le bon motif avant la mise en production.
Une regex d’analyse de logs échoue généralement en silence. Vous mettez en production une étape regexp ou un analyseur pattern, vous le déployez, et ce n’est que plus tard que vous remarquez qu’un champ n’a jamais été renseigné ou qu’un flux entier de lignes est passé au travers. La boucle de rétroaction passe par un pipeline et un tableau de bord au lieu de passer par le motif devant vous.
Ce testeur referme cette boucle. Collez les lignes exactes que vous analysez, regardez les correspondances et les groupes nommés se résoudre à mesure que vous éditez, et corrigez l’expression en quelques secondes — avant qu’elle n’atteigne un fichier de configuration. C’est le bloc-notes rapide que les grands espaces d’essai de regex ne sont pas : orienté ligne, optimisé pour l’analyse de logs, et sûr pour les logs sensibles par défaut car tout s’exécute côté client et vos données ne quittent jamais la page.
Cela compte doublement pour les motifs suggérés par une IA : un modèle écrit une regex qui a l’air correcte et qui, en silence, fait correspondre les mauvaises lignes. Ici, le vrai moteur de regex JavaScript s’exécute sur votre échantillon de logs réel, si bien que les correspondances que vous voyez sont la référence exacte, pas une supposition plausible.
Débutant avec les groupes de capture ? Allez aux notes de syntaxe ou essayez l’espace d’essai en direct ci-dessus.
Le pipeline
Comment ça marche.
Cinq étapes déterministes s’exécutent à chaque modification — toujours dans l’onglet de votre navigateur, à chaque fois.
-
Compiler le motif.
Votre expression et vos drapeaux sont compilés avec le moteur regex natif du navigateur — le même que celui sur lequel tourne déjà votre code front-end.
-
Découper les lignes de log.
Le bloc d’exemple est découpé en lignes individuelles afin que chacune soit testée séparément, exactement comme le ferait un agent de logs ligne par ligne.
-
Comparer chaque ligne.
Chaque ligne est analysée à la recherche de correspondances. Avec le drapeau global, chaque correspondance d’une ligne est trouvée, pas seulement la première.
-
Extraire les groupes.
Pour chaque correspondance, le testeur extrait les groupes de capture numérotés et tous les groupes nommés, prêts à être lus comme des champs.
-
Afficher en direct.
Les correspondances sont mises en évidence sur place et les groupes sont listés en dessous, avec mise à jour à mesure que vous éditez — le tout sans quitter la page.
Syntaxe
Un motif, vos lignes, les drapeaux.
Le testeur prend deux entrées — une expression régulière et un bloc de lignes de log — et applique les drapeaux JavaScript standard. Si vous avez déjà écrit un analyseur pour un agent de logs quelconque, cela vous semblera familier.
Le motif
Nommez les champs que vous voulez extraire avec des groupes de capture (?<name>…). Le testeur liste chaque groupe nommé qu’il a capturé, de la même façon que les analyseurs pattern / regexp de Loki et l’étape regex de Promtail transforment les correspondances en labels.
^(?<ts>\d{4}-\d{2}-\d{2}T\S+)\s+
(?<level>INFO|WARN|ERROR)\s+
(?<logger>[\w.]+)\s+-\s+
(?<msg>.*)$ Les lignes de log
Collez les vraies lignes que vous analysez — une par rangée. Chaque ligne est testée séparément, de sorte qu’une correspondance ou un échec sur une ligne n’affecte jamais la suivante. Mettez-y un mélange représentatif d’échantillons INFO, WARN et ERROR pour confirmer que le motif se généralise.
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 Les drapeaux
Les drapeaux changent la façon dont le moteur lit votre motif. Pour l’analyse de logs ligne par ligne, les deux que vous utiliserez le plus sont m (pour que les ancres collent à chaque ligne) et i (niveaux insensibles à la casse).
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 Une note sur les variantes
Ce testeur utilise le moteur regex JavaScript (ECMAScript) de votre navigateur. De nombreux agents de logs — Loki, Promtail et le Grafana Agent — sont écrits en Go et utilisent le moteur RE2, qui omet délibérément les références arrière et les assertions de contexte (lookaround) pour garantir une performance linéaire. Les outils basés sur PCRE diffèrent encore. La syntaxe de base — classes, ancres, quantificateurs et groupes nommés — est commune, c’est donc une excellente première passe ; vérifiez simplement tout ce qui est exotique dans votre moteur cible avant de le mettre en production.
FAQ
Vos questions, nos réponses.
Appuyez sur une question pour afficher la réponse.
Qu’est-ce que le Regex Log Tester ?
C’est un outil gratuit, qui fonctionne dans le navigateur, pour tester une expression régulière sur de vraies lignes de log. Vous collez un motif et un bloc de logs d’exemple, et il met en évidence chaque correspondance, liste chaque groupe de capture et nomme tous les groupes nommés — ligne par ligne. Il est conçu spécifiquement pour les motifs d’analyse de logs que vous écrivez pour Loki, Promtail, Grafana Agent, Fluent Bit, Logstash et consorts.
Mes données quittent-elles un jour mon navigateur ?
Non. Le testeur s’exécute à 100 % côté client en utilisant le moteur regex de votre propre navigateur. Votre motif et vos lignes de log sont évalués dans la page — rien n’est envoyé vers un serveur, et il n’y a ni compte ni inscription. Vous pouvez coller en toute sécurité des échantillons de logs internes ou sensibles.
Quelle variante de regex utilise-t-il ?
Il utilise le moteur d’expressions régulières JavaScript (ECMAScript) intégré à votre navigateur, de sorte que la syntaxe comme \d, les classes de caractères, les ancres, l’alternance, les groupes nommés ((?<name>…)) et les drapeaux tels que g, i, m et s se comportent exactement comme en JavaScript. La variante diffère par endroits de RE2 (utilisé par les agents de logs écrits en Go comme Loki et Promtail) et de PCRE, alors confirmez toujours un motif dans votre moteur cible avant de le mettre en production.
Comment capturer des champs comme timestamp, level et message ?
Utilisez des groupes de capture nommés. Entourez chaque champ que vous voulez extraire avec (?<name>…) — par exemple (?<ts>\S+) (?<level>\w+) (?<msg>.*). Le testeur liste chaque groupe nommé qu’il a capturé par ligne correspondante, ce qui reflète la façon dont les analyseurs pattern/regexp de Loki et l’étape regex de Promtail transforment les correspondances en labels.
Pourquoi mon motif ne correspond-il pas sur plusieurs lignes ?
Par défaut, le point (.) ne correspond pas aux retours à la ligne, et ^/$ correspondent au début et à la fin de l’ensemble de l’entrée plutôt qu’à chaque ligne. Ajoutez le drapeau m pour que ^ et $ s’ancrent à chaque ligne, et le drapeau s (dotAll) si vous avez besoin que . franchisse les retours à la ligne. Le testeur évalue chaque ligne de log indépendamment, ce qui correspond à la façon dont la plupart des agents de logs appliquent une regex par ligne.
Peut-il m’avertir d’un backtracking catastrophique ?
Le testeur exécute votre motif avec une protection afin qu’une expression pathologique ne bloque pas l’onglet, et il affiche une erreur au lieu de se figer. Il reste préférable d’éviter les quantificateurs imbriqués sur des classes qui se chevauchent (la forme classique (a+)+) — ils peuvent être lents dans n’importe quel moteur, pas seulement dans le navigateur.
Comment tester une regex sur des lignes de log en ligne ?
Collez vos lignes de log d’exemple et votre expression régulière dans les champs de saisie, puis regardez les correspondances s’illuminer en direct à mesure que vous tapez. Le testeur applique le motif à chaque ligne indépendamment, de sorte que vous voyez d’un coup d’œil quelles lignes correspondent et lesquelles ne correspondent pas — sans exécuter de pipeline ni déployer une modification de configuration. Comme tout s’exécute dans votre navigateur, vous pouvez tester sur des échantillons de logs réels ou expurgés sans aucun envoi requis.
Quels drapeaux regex utiliser pour l’analyse de logs ?
Pour la plupart des travaux d’analyse de logs, commencez par m (multiline) pour que ^ et $ s’ancrent à chaque ligne plutôt qu’à l’ensemble de l’entrée, et g (global) pour trouver chaque correspondance au lieu de s’arrêter à la première. Le testeur ajoute g automatiquement, le mode toutes-correspondances est donc toujours activé. Ajoutez i (insensible à la casse) lorsque les niveaux de log ou les méthodes HTTP varient en casse, et s (dotAll) uniquement lorsqu’une correspondance doit franchir un retour à la ligne au sein d’une même entrée de log.
Comment écrire une regex pour analyser les logs d’accès Apache ou Nginx ?
Construisez le motif champ par champ — adresse IP, timestamp, méthode de requête, chemin, code de statut, taille de la réponse — et utilisez des groupes nommés tels que (?<ip>\S+) et (?<status>\d{3}) pour étiqueter chaque champ extrait. Collez plusieurs vraies lignes de log d’accès dans le testeur pour vérifier que le motif correspond à chaque variation avant de le placer dans une étape de pipeline Promtail ou un filtre grok Logstash. Le testeur montre exactement quels groupes ont correspondu sur chaque ligne, de sorte que les lacunes sont immédiatement visibles.
Quelle est la différence entre un testeur de regex de logs et un testeur de motifs grok ?
Un testeur de regex de logs fonctionne avec des expressions régulières brutes — y compris les groupes de capture nommés — directement sur les lignes de log. Un testeur grok utilise des macros nommées %{PATTERN:field} qui se compilent en regex pour des outils comme Logstash ou la suite Elastic. Si vous voulez un contrôle total sur le motif sous-jacent, ou si votre agent de logs (tel que Loki ou Promtail) accepte une étape regexp brute, un testeur de regex de logs est l’outil le plus direct. Grok et la regex brute sont complémentaires : vous pouvez prototyper ici une regex à groupes nommés puis traduire les champs capturés en un pipeline compatible grok.
More free, private DevOps tools.
Le Regex Log Tester est l’un des outils de OpsCanopy — une canopée grandissante de validateurs, convertisseurs et testeurs qui fonctionnent dans le navigateur et ne touchent jamais un serveur.
Vous débutez avec Linux ? Lire le guide Linux →
39 outils gratuits, tous utilisables hors ligne — opscanopy.com fonctionne sans inscription et sans rien téléverser.
Vous analysez des logs Loki ? Associez ceci à AlertLint, le testeur unitaire de style promtool pour les règles d’alerte Loki — ou parcourez le répertoire complet des outils.
Non affilié à Grafana Labs ni approuvé par eux. Loki, Promtail et Grafana sont des marques de Raintank, Inc.