68

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

defmodule PhoenixApp.TopicController do
  use PhoenixApp.Web, :controller

  def index(conn, _params) do
    log("this text")

    # ... 
  end
end
4

2 回答 2

99

好吧,事实证明这很简单。您需要Logger在控制器中使用 elixir 模块并调用其中一种方法来记录您的文本。

defmodule PhoenixApp.TopicController do
    require Logger

    def index(conn, params) do
        Logger.info  "Logging this text!"
        Logger.debug "Var value: #{inspect(params)}"

        # ...
    end
end

支持的级别是:

  • :debug- 用于调试相关消息
  • :info- 任何类型的信息
  • :warn- 用于警告
  • :error- 对于错误

来源:Elixir - 记录器文档

于 2015-06-20T20:47:57.073 回答
12

您也可以只做IO.putsorIO.inspect并且它会显示出来,但是如果您要打印的内容没有实现 String.Chars 协议,则 IO.puts 可能会很麻烦

于 2015-06-21T06:46:24.490 回答