如何在Phoenix Server运行时在Controller中记录内容?

时间:2015-06-20 20:33:43

标签: elixir phoenix-framework

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

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

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

    # ... 
  end
end

2 个答案:

答案 0 :(得分:82)

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

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 - 用于与调试相关的消息
  • :info - 有关任何类型的信息
  • :warn - 警告
  • :error - 错误

来源:Elixir - Logger Documentation

答案 1 :(得分:11)

您也可以执行IO.putsIO.inspect它会显示,但如果您尝试打印的内容未实现String.Chars协议,则IO.puts可能很麻烦