68

サーバーの実行中に、Phoenix アプリのコントローラーの 1 つからデバッグ情報を出力しようとしています。

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

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

    # ... 
  end
end
4

2 に答える 2

99

さて、それはかなり簡単であることがわかりました。Loggerコントローラーで elixir モジュールを要求し、そのメソッドの 1 つを呼び出してテキストをログに記録する必要があります。

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.putsorを実行することもできIO.inspectますが、表示されますが、印刷しようとしているものが String.Chars プロトコルを実装していない場合、IO.puts は面倒になる可能性があります。

于 2015-06-21T06:46:24.490 に答える