Comparer des journaux : aligner et différencier plusieurs fichiers par horodatage
Ouvrez plusieurs fichiers journaux côte à côte, faites-les défiler ensemble par horodatage et filtrez les lignes utiles.
Une visionneuse de journaux plein écran pour déboguer les systèmes distribués : ajoutez les logs de différents services et voyez ce qui s'est produit partout au même instant.
Comparer des journaux : aligner et différencier plusieurs fichiers par horodatage
Ouvrez plusieurs fichiers journaux côte à côte, faites-les défiler ensemble par horodatage et filtrez les lignes utiles.
La visionneuse fonctionne comme une application plein écran indépendante afin que chaque pixel soit consacré à vos logs.
Ouvrir Comparer les journaux (plein écran)Les fichiers sont entièrement analysés dans votre navigateur : rien n'est envoyé.
- Défilement aligné sur l'horodatage : tous les journaux ouverts se déplacent ensemble au même instant.
- Plusieurs fichiers côte à côte : comparez un log client, un log serveur et un log proxy.
- Filtres par mot-clé et expression régulière par fichier pour réduire le bruit aux lignes pertinentes.
- Surlignage et épinglage des lignes pour marquer les éléments probants pendant l'analyse de la chronologie.
- Gère les fichiers volumineux par analyse locale dans le navigateur : aucun envoi ni quota de taille serveur.
- Gratuit et open source (github.com/lubobill1990/log-compare).
Pourquoi comparer les journaux alignés par horodatage
Lorsqu'une requête touche trois services et qu'un problème survient, la vérité est répartie dans trois fichiers journaux. Les lire l'un après l'autre vous oblige à garder les horodatages en tête, à passer d'un éditeur à l'autre et à perdre le fil à chaque fois. Log Compare adopte l'approche inverse : ouvrez tous les fichiers pertinents à la fois, et la visionneuse les aligne sur une chronologie commune ; en faisant défiler un journal, les autres se positionnent au même instant.
L'interaction centrale est le défilement verrouillé sur l'horodatage. Chaque fichier est analysé dans votre navigateur et l'horodatage de chaque ligne est indexé. Lorsque vous parcourez le journal principal, les autres volets suivent jusqu'à la ligne la plus proche à cet instant ou juste avant — la même technique que les ingénieurs appliquent manuellement avec deux écrans et beaucoup de patience, automatisée ici. La dérive d'horloge entre les machines reste visible au lieu d'être masquée, ce qui est déjà un indice de diagnostic : si le log de base de données affirme qu'un événement s'est déclenché avant la requête qui l'a causé, vous avez appris quelque chose d'important sur votre configuration NTP.
Les filtres rendent l'alignement utile à grande échelle. Un service très bavard peut émettre des milliers de lignes par seconde ; un filtre par mot-clé ou expression régulière propre à chaque fichier réduit chaque volet aux lignes qui vous intéressent — code d'erreur, ID de requête, ID utilisateur — tandis que l'alignement continue de fonctionner sur toute la chronologie. Combiner un filtre d'ID de requête dans tous les volets transforme une trace distribuée en contenu lisible de haut en bas.
Tout se passe localement. Les fichiers sont lus via la File API du navigateur et ne quittent jamais votre machine, ce qui compte lorsque les logs contiennent des données client, des jetons ou des noms d'hôte internes qui ne doivent pas être collés dans un outil en ligne quelconque. La limite pratique est donc votre RAM, non un plafond d'envoi.
Les utilisations typiques incluent : les postmortems où vous reconstituez une minute de chaos à partir de cinq services ; la comparaison du log d'un environnement défaillant à celui d'un environnement sain pour voir où le comportement diverge ; le suivi d'un ID de requête entre client, passerelle et backend ; et la vérification qu'un correctif a modifié la séquence d'événements plutôt que seulement le message d'erreur. La visionneuse est open source ; les règles d'analyse peuvent donc être étendues pour des formats d'horodatage personnalisés.
Exemples d'utilisation de Comparer les journaux
Comment les ingénieurs utilisent les journaux alignés par horodatage en pratique.
| Scénario | Comment Comparer les journaux aide | Résultat |
|---|---|---|
| Une requête API échoue par intermittence entre passerelle et backend | Ouvrez les deux logs, filtrez par ID de requête et faites défiler jusqu'à l'erreur de la passerelle | Le volet backend est déjà au même instant : un délai d'attente du pool de connexions 40 ms plus tôt. |
| Postmortem d'une panne de 3 minutes sur 4 services | Ouvrez les quatre logs et parcourez la fenêtre de panne en synchronisation | L'ordre des événements entre services devient évident, y compris quelle alarme est la cause ou l'effet. |
| La préproduction fonctionne, la production échoue | Ouvrez côte à côte le log de la même opération dans chaque environnement | Les volets divergent à la ligne exacte où la production suit un autre chemin de code. |
| Dérive d'horloge suspectée entre hôtes | Alignez-vous sur un événement partagé connu (marqueur de déploiement, tick cron) | La dérive apparaît comme un décalage constant entre les volets : quantifiez-la avant de faire confiance à la chronologie. |
Comment utiliser Comparer les journaux
- Cliquez sur Ouvrir Comparer les journaux : la visionneuse s'ouvre dans une page plein écran.
- Glissez-déposez deux fichiers journaux ou plus (ou utilisez le sélecteur de fichiers) ; chacun s'ouvre dans son propre volet.
- Faites défiler n'importe quel volet : les autres suivent automatiquement le même horodatage.
- Ajoutez un filtre par mot-clé ou regex à chaque volet pour réduire le bruit ; l'alignement suit toujours toute la chronologie.
- Surlignez ou épinglez les lignes clés en reconstituant la séquence d'événements.
FAQ sur Comparer les journaux
Mes fichiers journaux sont-ils envoyés quelque part ?
Non. Les fichiers sont ouverts avec la File API du navigateur et analysés localement en JavaScript. Rien n'est transmis ; l'outil est donc sûr pour des logs contenant des données client ou des secrets qui doivent rester sur votre machine.
Quels formats d'horodatage sont reconnus ?
Les formats courants fonctionnent immédiatement : ISO 8601 (2026-09-11T02:30:00.123Z), dates de style syslog et millisecondes Unix près du début d'une ligne. Les lignes sans horodatage reconnaissable héritent de l'heure de la ligne précédente, afin que les traces de pile restent attachées à leur entrée.
Quelle taille de fichier peut-il gérer ?
L'analyse a lieu en mémoire ; la limite pratique est donc la RAM de votre navigateur. Plusieurs centaines de MB fonctionnent généralement bien sur un poste de bureau. Pour des logs de plusieurs GB, préfiltrez avec grep ou découpez d'abord par fenêtre temporelle, puis chargez l'extrait nécessaire.
Puis-je comparer des logs de machines ayant des horloges différentes ?
Oui. L'alignement utilise les horodatages propres à chaque fichier ; une dérive constante apparaît donc comme un décalage visible entre les volets au lieu d'être corrigée silencieusement. Alignez un événement partagé connu pour la mesurer, puis lisez la chronologie en tenant compte de ce décalage.
Est-ce open source ?
Oui. Log Compare est développé sur github.com/lubobill1990/log-compare sous licence open source ; les issues et pull requests pour de nouveaux formats d'horodatage ou fonctionnalités sont les bienvenus.
Pourquoi s'ouvre-t-il dans une page plein écran distincte ?
L'analyse de logs demande de l'espace horizontal : plusieurs volets de longues lignes et des filtres. La visionneuse s'exécute donc hors de la mise en page normale du site et utilise toute la fenêtre. L'état de votre session reste dans cet onglet ; cette page d'accueil le documente et le lance seulement.