凤凰服务器运行时如何logging在控制器中的东西?

我正尝试在服务器运行时从Phoenix应用程序中的一个控制器打印一些debugging信息。

defmodule PhoenixApp.TopicController do use PhoenixApp.Web, :controller alias PhoenixApp.Topic plug :action def index(conn, _params) do # ... log "this text" # ... render(conn, "index.html") end end 

好的,结果很简单。 您需要在控制器中使用Logger elixir模块,并调用其中一种方法来logging文本。

 defmodule PhoenixApp.TopicController do require Logger def index(conn, _params) do Logger.info "Logging this text!" Logger.debug "Var value: #{inspect(var)}" # ... end end 

支持的级别是:

  • :debug – debugging相关的消息
  • :info – 任何types的信息
  • :warn – 警告
  • :error – 对于错误

来源: Elixir – logging器文档

你也可以只做IO.puts或者IO.inspect ,它会显示出来,但是IO.puts会很麻烦,如果你打印的东西没有实现String.Chars协议