Log Parse
v0.1.0Hinzugefügt am 26. Sept. 2026BeispieldatenParst Syslog (RFC 3164 / 5424) und gängige Webserver-Zugriffslogs in strukturierte Datensätze.
cargo install kura-rs
kura add log-parseKopiert 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
BeispieldatenGeprüft gegen re 3.12 (Python). Verfahren: Golden Files. Beide Implementierungen erhalten dieselben Eingaben, die Ausgaben werden verglichen.
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
Beispieldatenkura-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.
Datentabelle anzeigen
| Eingabegröße | kura-rs (Rust) | re | Speedup |
|---|---|---|---|
| 100 | 0,03 ms | 0,4 ms | 13× |
| 1.000 | 0,21 ms | 3,9 ms | 19× |
| 10.000 | 2 ms | 39 ms | 20× |
| 100.000 | 20 ms | 395 ms | 20× |
| 1.000.000 | 196 ms | 3,96 s | 20× |
Dateien
- parts/log_parse/mod.rs
- parts/log_parse/syslog.rs
- parts/log_parse/access.rs