Log Parse
v0.1.0Añadido el 26 sept 2026Datos de ejemploAnaliza syslog (RFC 3164 / 5424) y logs de acceso de servidores web comunes en registros estructurados.
cargo install kura-rs
kura add log-parseCopia 3 archivos de código fuente en tu proyecto. A partir de ahí, el código es tuyo.
Si otra herramienta ya instala un comando kura, ejecuta cargo install kura-rs --bin kura-rs y usa kura-rs add en su lugar.
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);
}Verificación
Datos de ejemploVerificado frente a re 3.12 (Python). Método: Archivos golden. Las mismas entradas se pasan a ambas implementaciones y se comparan las salidas.
Estas cifras son provisionales. Todavía no se han medido y no deben interpretarse como resultados reales. Esta pieza está marcada con "sample": true en su archivo del registro.
Benchmarks
Datos de ejemplokura-rs (Rust) frente a re con distintos tamaños de entrada. Más rápido en todos los tamaños de entrada medidos, hasta 20× más rápido.
Estas cifras son provisionales. Todavía no se han medido y no deben interpretarse como resultados reales. Esta pieza está marcada con "sample": true en su archivo del registro.
Mostrar tabla de datos
| Tamaño de entrada | kura-rs (Rust) | re | Aceleración |
|---|---|---|---|
| 100 | 0,03 ms | 0,4 ms | 13× |
| 1000 | 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× |
Archivos
- parts/log_parse/mod.rs
- parts/log_parse/syslog.rs
- parts/log_parse/access.rs