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?
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With