logging - Elixir Logger para listas, tuplas, etc.
(1)
Puedo usar el registrador de elixir para inspeccionar cadenas
> str = "string"
> Logger.info "Here is a #{str}"
[info] Here is a string
Pero cuando registro una lista, no se ve bonita
> list = [1,2,3,4,5]
> Logger.info "Here is a list: #{list}"
[info] Here is a list: ^A^B^C^D^E^F
Cuando registro la lista de palabras clave, se produce un error
> kwl = [a: "apple", b: "banana"]
> Logger.info "Here is a keyword list: #{kwl}"
** (ArgumentError) argument error
(stdlib) :unicode.characters_to_binary([a: "apple", b: "banana"])
(elixir) lib/list.ex:555: List.to_string/1
¿Cómo se registran listas, tuplas y tipos de datos que no sean cadenas en Elixir?
Su mejor apuesta es usar Logger.info "Here is some thing: #{inspect thing}"
. De esta manera, incluso si la thing
no implementa el protocolo String.Chars
, todavía obtienes algo útil.