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