Как довольно печатать коннект?

Я попробовал следующее

def index(conn, _params) do
    Logger.debug conn
     ......

Но я получаю

protocol String.Chars not implemented for %Plug.Conn

Я даже попробовал Apex, но это тоже не сработало.

Ответ 1

Вы можете использовать Kernel.inspect/2 для красивой печати conn:

Logger.debug inspect(conn)

Ответ 2

Используйте inspect conn, pretty: true

... или:

inspect conn, pretty: true, limit: 30000

... так как структуры Conn довольно большие.

Ответ 3

IO.inspect это хорошо. Я использовал в своем стороннем проекте, как ruby awsome_print

Ответ 4

Вы действительно можете использовать Kernel.inspect/2 чтобы красиво распечатать содержимое %Plug.Conn{} используя:

def index(conn, _params) do
  :logger.info inspect(conn, pretty: true)
  ....
end

Обратите внимание, что в предыдущих ответах, использующих Logger должно быть упомянуто, что вам require Logger прежде чем использовать его, как в:

require Logger

def index(conn, _params) do
  Logger.info inspect(conn, pretty: true)
  ....
end