Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

elixir Logger for lists, tuples, etc

Tags:

I can use the elixir logger for inspecting strings

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

But when I log a list, it doesn't look pretty

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

When I log keyword list, it errors

 > 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 

How do you logger lists, tuples and data types other than strings in Elixir?

like image 711
User314159 Avatar asked Mar 09 '15 20:03

User314159


1 Answers

Your best bet is to use Logger.info "Here is some thing: #{inspect thing}". This way even if thing doesn't implement the String.Chars protocol, you still get something useful.

like image 195
bitwalker Avatar answered Oct 07 '22 19:10

bitwalker