Comment connecter quelque chose dans Controller lorsque Phoenix Server est en cours d’exécution?

J’essaie d’imprimer des informations de débogage à partir de l’un de mes contrôleurs dans mon application Phoenix lorsque le serveur est en cours d’exécution.

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 

    Ok, il s’avère que c’est assez simple. Vous devez avoir besoin du module d’élixir Logger dans votre contrôleur et appeler l’une de ses méthodes pour enregistrer votre texte.

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

    Les niveaux pris en charge sont les suivants:

    • :debug – pour les messages liés au débogage
    • :info – pour toute information
    • :warn – pour les avertissements
    • :error – pour les erreurs

    Source: Elixir – Logger Documentation

    Vous pouvez aussi simplement faire IO.puts ou IO.inspect et ça va apparaître, mais IO.puts peut être gênant si ce que vous essayez d’imprimer n’implémente pas le protocole Ssortingng.Chars