Log Parse

v0.1.0Adicionado em 26 de set. de 2026Dados de exemplo

Converte syslog (RFC 3164 / 5424) e logs de acesso de servidores web comuns em registros estruturados.

Dados de exemplo. Estes valores são provisórios, não medições.

cargo install kura-rs
kura add log-parse

Copia 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 exemplo

Verificado 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.

Referência
re
Python 3.12
Casos de teste
1.200
Arquivos golden
Aprovados
1.200 / 1.200
Todos os casos batem
Última execução
26 de set. de 2026
UTC

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 exemplo

kura-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.

kura-rs (Rust)re
Tempo real por execução (menor é melhor).
Mostrar tabela de dados
Tamanho da entradakura-rs (Rust)reAceleração
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×

Arquivos

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

Dependências (crates)