Percursos
/
Clojure
Clojure
/
Exercícios
/
Níveis de log
Níveis de log

Níveis de log

Exercício de aprendizagem

Introdução

Uma string em Clojure é uma string Java, que é um objeto que representa texto imutável como uma cadeia de carateres Unicode (letras, algarismos, pontuação, etc.) e é definida da seguinte forma:

(def fruit "Apple")

A biblioteca clojure.string disponibiliza muitas funções padrão de manipulação e processamento de strings. Além disso, todos os métodos Java habituais para operar sobre strings estão disponíveis através da interoperabilidade.

Instruções

Neste exercício vais processar linhas de registo.

Cada linha de registo é uma string formatada da seguinte forma: "[<LEVEL>]: <MESSAGE>".

Há três níveis de registo diferentes:

  • INFO
  • WARNING
  • ERROR

Tens três tarefas, cada uma recebe uma linha de registo e pede-te que faças algo com ela.

1. Obter a mensagem de uma linha de registo

Implementa a função message para devolver a mensagem de uma linha de registo:

(message "[ERROR]: Invalid operation")
;;=> "Invalid operation"

Qualquer espaço em branco no início ou no fim deve ser removido:

(message "[WARNING]:  Disk almost full\r\n")
;;=> "Disk almost full"

2. Obter o nível de registo de uma linha de registo

Implementa a função log-level para devolver o nível de registo de uma linha de registo, que deve ser devolvido em minúsculas:

(log-level "[ERROR]: Invalid operation")
;;=> "error"

3. Reformatar uma linha de registo

Implementa a função reformat que reformata a linha de registo, colocando a mensagem primeiro e o nível de registo a seguir, entre parênteses:

(reformat "[INFO]: Operation completed")
;;=> "Operation completed (info)"
Editar via GitHub A ligação abre numa nova janela ou separador
Clojure Exercism

Estás pronto para começar Níveis de log?

Inscreve-te no Exercism para aprenderes e dominares Clojure com 12 conceitos105 exercícios, e mentoria humana real, tudo grátis.