Carregando
0xD0Lição 14 de 17

Construa um inspetor de logs em CLI

Processe entrada de linha de comando e filtre logs operacionais.

18 min Questionário com 5 perguntas 1 exercício de código
Ao final desta lição, você saberá
  • Ler argumentos de CLI e reportar linhas de log correspondentes.

Times de engenharia usam CLIs pequenas todos os dias para suporte e operações. Em Rust, std::env::args já resolve parsing básico; em produção, crates como clap ajudam a evoluir para interfaces mais completas.

main.rs
1use std::env;
2
3fn main() {
4    let args: Vec<String> = env::args().collect();
5    if args.len() < 2 {
6        println!("usage: logtool <keyword>");
7        return;
8    }
9
10    let keyword = &args[1];
11    let sample = [
12        "INFO service started",
13        "WARN latency above threshold",
14        "ERROR database timeout",
15    ];
16
17    for line in sample {
18        if line.contains(keyword) {
19            println!("{}", line);
20        }
21    }
22}
Saída
ERROR database timeout

Uma CLI focada pode ser distribuída como binário único para CI, resposta a incidentes e fluxos internos de desenvolvimento.

Experimente

Até 15 XP

Mapeie entrada para comportamento da CLI

Classifique cada cenário de execução pelo comportamento esperado da ferramenta.

0 de 4 classificadosPontuação 0/0
  • “No keyword passed on the command line”

  • “Keyword `ERROR` is provided”

  • “Keyword `WARN` is provided”

  • “Arguments list only contains program name”

Principais conclusões

  • Ferramentas internas simples aceleram diagnósticos.

  • Mensagens de uso claras melhoram experiência de operador.

  • Distribuição por binário único simplifica deploy.

Quiz da aula

5 perguntas · aprovação com 4 acertos · até 50 XP

Ao passar, você conclui a aula e mantém sua sequência. As perguntas erradas voltarão em sessões de revisão.

Pratique: escreva código em Rust

Estes exercícios rodam de verdade. Escreva o programa, clique em “Executar testes” e leia o que o compilador informa: aprender a ler as mensagens do compilador é metade do aprendizado de Rust.

Exercício 1

Filtre linhas de erro da entrada padrão

+25 XP

Leia uma palavra-chave e depois uma linha com logs separados por |. Imprima os logs que contêm a palavra-chave; se não houver, imprima none.

  • Uma correspondência
  • Sem correspondências
main.rs
Carregando editor…

As aulas de Rust foram escritas para o Rust estável moderno; os exercícios rodam no Rust 1.82 pelo Wandbox, um serviço público gratuito. Seu código-fonte e a entrada de teste são enviados a esse serviço.

Dúvidas sobre esta lição

Travou em algum ponto? Pergunte. Descobriu algo? Compartilhe. Explicar também é uma ótima forma de aprender.

Carregando publicações…