Log Parse
v0.1.0Adicionado em 26 de set. de 2026Dados de exemploConverte syslog (RFC 3164 / 5424) e logs de acesso de servidores web comuns em registros estruturados.
cargo install kura-rs
kura add log-parseCopia 3 arquivos de código-fonte para o seu projeto. A partir daí, o código é seu.
Se outra ferramenta já instala um comando kura, execute cargo install kura-rs --bin kura-rs e use kura-rs add no 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);
}Verificação
Dados de exemploVerificado com re 3.12 (Python). Método: Arquivos golden. As mesmas entradas são enviadas às duas implementações e as saídas são comparadas.
Estes números são provisórios. Eles ainda não foram medidos e não devem ser lidos como resultados reais. Esta peça está marcada como "sample": true no seu arquivo do registry.
Benchmarks
Dados de exemplokura-rs (Rust) comparado com re em vários tamanhos de entrada. Mais rápido em todos os tamanhos de entrada medidos, até 20× mais rápido.
Estes números são provisórios. Eles ainda não foram medidos e não devem ser lidos como resultados reais. Esta peça está marcada como "sample": true no seu arquivo do registry.
Mostrar tabela de dados
| Tamanho da entrada | kura-rs (Rust) | re | Aceleração |
|---|---|---|---|
| 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× |
Arquivos
- parts/log_parse/mod.rs
- parts/log_parse/syslog.rs
- parts/log_parse/access.rs