尽管进行了配置,但IEx截断了错误stackstrace

时间:2019-06-25 17:56:26

标签: elixir iex

我的配置~/.iex.exs是:

IEx.configure(inspect: [limit: :infinity, printable_limit: :infinity, pretty: true , safe: false] )

在IEx中,字符串,列表不会被截断,但是尽管进行了配置,但我还是出现了一些错误,如:

19:35:15.338 [error] #PID<0.404.0> running HTTP (cowboy_protocol) terminated
Server: localhost:4201 (http)
Request: GET /api?elemen_id%5B%5D=FOO_1&elemen_id%5B%5D=FOO_2&*********************************** (truncated)

如果有人有个好主意!

谢谢!

1 个答案:

答案 0 :(得分:1)

inspect:

IEx.configure/1选项确实配置了IEx

  

一个关键字列表,其中包含在打印表达式求值结果时外壳使用的检查选项。默认为精美格式,最多50个条目。

它确实会影响Inspect协议实现的默认选项。错误来自二进制文件,其格式来自已被截断的格式。该消息来自cowboy,该消息显然使用了error_logger by default。因此,该消息可能最初被error_logger截断,或者被Logger应用程序@ m3字符在注释中指定。

我建议的最简单方法是将cowboy配置为使用Logger应用程序,然后将config Logger配置为默认情况下不截断消息(使用:infinity作为限制。 ),也许仅后者就足够了。