Log Parse

v0.1.0Ajouté le 26 sept. 2026Données d'exemple

Analyse le syslog (RFC 3164 / 5424) et les journaux d'accès des serveurs web courants en enregistrements structurés.

Données d'exemple. Ces chiffres sont fictifs et ne proviennent pas de mesures.

cargo install kura-rs
kura add log-parse

Copie 3 fichiers source dans votre projet. Le code vous appartient ensuite.

Si un autre outil installe déjà une commande kura, lance cargo install kura-rs --bin kura-rs et utilise kura-rs add à la place.

use crate::parts::log_parse::{parse_line, Format};

for line in reader.lines() {
    let record = parse_line(Format::Rfc5424, &line?)?;
    println!("{} {}", record.host, record.message);
}

Vérification

Données d'exemple

Vérifié par rapport à re 3.12 (Python). Méthode : Fichiers de référence (golden files). Les mêmes entrées sont fournies aux deux implémentations, puis leurs sorties sont comparées.

Référence
re
Python 3.12
Cas de test
1 200
Fichiers de référence (golden files)
Réussis
1 200 / 1 200
Tous les cas concordent
Dernière exécution
26 sept. 2026
UTC

Ces valeurs sont fictives. Elles n'ont pas encore été mesurées et ne doivent pas être lues comme des résultats réels. Ce composant est marqué "sample": true dans son fichier de registre.

Benchmarks

Données d'exemple

kura-rs (Rust) comparé à re sur plusieurs tailles d'entrée. Plus rapide pour toutes les tailles d'entrée mesurées, jusqu'à 20× plus rapide.

Ces valeurs sont fictives. Elles n'ont pas encore été mesurées et ne doivent pas être lues comme des résultats réels. Ce composant est marqué "sample": true dans son fichier de registre.

kura-rs (Rust)re
Temps d'exécution par itération (plus bas = meilleur).
Afficher le tableau de données
Taille d'entréekura-rs (Rust)reAccélération
1000,03 ms0,4 ms13×
1 0000,21 ms3,9 ms19×
10 0002 ms39 ms20×
100 00020 ms395 ms20×
1 000 000196 ms3,96 s20×

Fichiers

  • parts/log_parse/mod.rs
  • parts/log_parse/syslog.rs
  • parts/log_parse/access.rs

Dépendances (crates)