【问题标题】:IEx truncated Error stackstrace despite of config尽管有配置,IEx 截断了错误堆栈跟踪
【发布时间】:2019-11-07 14:54:40
【问题描述】:

我的配置~/.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)

如果有人有好主意!

谢谢!

【问题讨论】:

标签: elixir elixir-iex


【解决方案1】:

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

一个关键字列表,其中包含 shell 在打印表达式评估结果时使用的检查选项。默认为漂亮的格式,限制为 50 个条目。

它确实会影响Inspect 协议实现的默认选项。错误来自格式化此错误的二进制文件已被截断。该消息来自cowboy,它显然使用了error_loggerby default。因此,消息最初可能会被error_logger 截断,或者正如@m3characters 由Logger 应用程序在cmets 中指定的那样。

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

【讨论】:

    猜你喜欢
    • 2012-01-29
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-16
    • 1970-01-01
    • 2016-06-21
    相关资源
    最近更新 更多