Trilhas
/
Rust
Rust
/
Exercícios
/
Logs semiestruturados
Logs semiestruturados

Logs semiestruturados

Exercício de aprendizagem

Introdução

Enums, abreviação de enumerações, são um tipo que restringe os valores possíveis de um dado. Os valores possíveis de um enum são chamados de variantes. Enums também funcionam bem com match e outros operadores de controle de fluxo para ajudar você a expressar sua intenção em seus programas em Rust.

Instruções

Neste exercício, você vai gerar mensagens de log semiestruturadas.

1. Emitir mensagens semiestruturadas

Você vai começar com algumas funções incompletas e o seguinte enum:

#[derive(Clone, PartialEq, Debug)]
pub enum LogLevel {
    Info,
    Warning,
    Error,
}

Seu objetivo é emitir uma mensagem de log no seguinte formato: "[<LEVEL>]: <MESSAGE>". Você vai precisar implementar funções que correspondem aos níveis de log.

Por exemplo, o trecho abaixo mostra uma saída esperada para a função log.

log(LogLevel::Error, "Stack overflow")
// Returns: "[ERROR]: Stack overflow"

E para info:

info("Timezone changed")
// Returns: "[INFO]: Timezone changed"

Divirta-se!

2. Prática extra opcional

Nesta suíte há um teste controlado por uma feature. As feature gates desativam completamente a compilação de certas partes do seu programa. Elas serão abordadas mais adiante. Por enquanto, saiba apenas que existe um teste que só é compilado e executado quando você usa uma invocação de teste especial:

cargo test --features add-a-variant

Este teste tem o objetivo de mostrar como adicionar uma variante ao seu enum.

Editar via GitHub O link abre em uma nova janela ou aba
Rust Exercism

Tudo pronto para começar Logs semiestruturados?

Crie sua conta no Exercism para aprender e dominar Rust com 99 exercícios e mentoria humana de verdade, tudo de graça.