elixir Logger用于列表,元组等

Use*_*159 22 logging elixir

我可以使用elixir记录器来检查字符串

 > str = "string"
 > Logger.info "Here is a #{str}"
 [info] Here is a string
Run Code Online (Sandbox Code Playgroud)

但是当我记录一个列表时,它看起来并不漂亮

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

当我记录关键字列表时,它会出错

 > 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
Run Code Online (Sandbox Code Playgroud)

如何在Elixir中记录除字符串以外的列表,元组和数据类型?

bit*_*ker 48

你最好的选择是使用Logger.info "Here is some thing: #{inspect thing}".这种方式即使thing没有实现String.Chars协议,你仍然可以得到一些有用的东西.

  • 如果要显示数据结构,那么检查绝对是可行的方法.to_string受设计的限制.:) (6认同)