Подтвердить что ты не робот

Elixir Logger для списков, кортежей и т.д.

Я могу использовать регистратор elixir для проверки строк

 > str = "string"
 > Logger.info "Here is a #{str}"
 [info] Here is a string

Но когда я регистрирую список, он выглядит не очень красивым.

 > list = [1,2,3,4,5]
 > Logger.info "Here is a list: #{list}"
 [info] Here is a list: ^A^B^C^D^E^F

Когда я регистрирую список ключевых слов, это ошибки

 > 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

Как вы регистрируете списки, кортежи и типы данных, отличные от строк в Elixir?

4b9b3361

Ответ 1

Лучше всего использовать Logger.info "Here is some thing: #{inspect thing}". Таким образом, даже если thing не реализует протокол String.Chars, вы все равно получаете что-то полезное.