programing

Phoenix 서버가 실행 중일 때 컨트롤러에 무언가를 로그인하는 방법은 무엇입니까?

nasanasas 2020. 12. 12. 11:06
반응형

Phoenix 서버가 실행 중일 때 컨트롤러에 무언가를 로그인하는 방법은 무엇입니까?


서버가 실행 중일 때 Phoenix 앱의 컨트롤러 중 하나에서 디버그 정보를 인쇄하려고합니다.

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

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

    # ... 
  end
end

좋아요, 꽤 간단합니다. 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 문서


IO.puts또는 그냥 할 수도 IO.inspect있지만, 인쇄하려는 것이 String.Chars 프로토콜을 구현하지 않으면 IO.puts가 문제가 될 수 있습니다.

참고 URL : https://stackoverflow.com/questions/30958616/how-to-log-something-in-controller-when-phoenix-server-is-running

반응형