Track
/
Rust
Rust
/
Esercizi
/
Log semi-strutturati
Log semi-strutturati

Log semi-strutturati

Esercizio di apprendimento

Introduzione

Gli enum, abbreviazione di enumerazioni, sono un tipo che limita tutti i possibili valori di un certo dato. I valori possibili di un enum sono chiamati varianti. Gli enum funzionano bene anche con match e altri operatori di controllo del flusso, per aiutarti a esprimere le tue intenzioni nei programmi Rust.

Istruzioni

In questo esercizio genererai messaggi di log semi-strutturati.

1. Emetti messaggi semi-strutturati

Partirai da alcune funzioni stub e dal seguente enum:

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

L'obiettivo è emettere un messaggio di log nel formato seguente: "[<LEVEL>]: <MESSAGE>". Dovrai implementare le funzioni che corrispondono ai livelli di log.

Per esempio, il frammento qui sotto mostra un output atteso per la funzione log.

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

E per info:

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

Buon divertimento!

2. Ulteriore pratica facoltativa

In questa suite c'è un test controllato da una feature. Le feature gate disabilitano completamente la compilazione per alcune sezioni del programma. Verranno trattate più avanti. Per ora sappi solo che c'è un test che viene compilato ed eseguito soltanto quando usi un'invocazione di test speciale:

cargo test --features add-a-variant

Questo test serve a mostrarti come aggiungere una variante all'enum.

Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Rust Exercism

Vuoi iniziare Log semi-strutturati?

Iscriviti a Exercism per imparare e padroneggiare Rust con 99 esercizi e il mentoring di persone reali, tutto gratis.