Log Parse

v0.1.0Hinzugefügt am 26. Sept. 2026Beispieldaten

Parst Syslog (RFC 3164 / 5424) und gängige Webserver-Zugriffslogs in strukturierte Datensätze.

Beispieldaten. Diese Werte sind Platzhalter, keine Messungen.

cargo install kura-rs
kura add log-parse

Kopiert 3 Quelldateien in dein Projekt. Ab dann gehört der Code dir.

Wenn ein anderes Tool bereits einen kura-Befehl installiert, führe cargo install kura-rs --bin kura-rs aus und nutze stattdessen kura-rs add.

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);
}

Verifikation

Beispieldaten

Geprüft gegen re 3.12 (Python). Verfahren: Golden Files. Beide Implementierungen erhalten dieselben Eingaben, die Ausgaben werden verglichen.

Referenz
re
Python 3.12
Testfälle
1.200
Golden Files
Bestanden
1.200 / 1.200
Alle Fälle stimmen überein
Letzter Lauf
26. Sept. 2026
UTC

Diese Werte sind Platzhalter. Sie wurden noch nicht gemessen und dürfen nicht als echte Ergebnisse gelesen werden. Dieser Baustein ist in seiner Registry-Datei mit "sample": true markiert.

Benchmarks

Beispieldaten

kura-rs (Rust) im Vergleich zu re über verschiedene Eingabegrößen. Bei jeder gemessenen Eingabegröße schneller, bis zu 20× schneller.

Diese Werte sind Platzhalter. Sie wurden noch nicht gemessen und dürfen nicht als echte Ergebnisse gelesen werden. Dieser Baustein ist in seiner Registry-Datei mit "sample": true markiert.

kura-rs (Rust)re
Laufzeit pro Durchlauf (niedriger ist besser).
Datentabelle anzeigen
Eingabegrößekura-rs (Rust)reSpeedup
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×

Dateien

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

Crate-Abhängigkeiten