Plug v1.4.1 Plug.Debugger View Source
A module (not a plug) for debugging in development.
Plug.Debugger does not catch errors, as errors should still
propagate so that the Elixir process finishes with the proper reason.
This module does not perform any logging either, as all logging is done
by the web server handler.
Note: If this module is used with
Plug.ErrorHandler, only one of
them will effectively handle errors. For this reason, it is recommended
Plug.Debugger is used before
Plug.ErrorHandler and only in
particular environments, like
defmodule MyApp do use Plug.Builder if Mix.env == :dev do use Plug.Debugger, otp_app: :my_app end plug :boom def boom(conn, _) do # Error raised here will be caught and displayed in a debug page # complete with a stacktrace and other helpful info. raise "oops" end end
:otp_app- the OTP application that is using Plug. This option is used to filter stacktraces that belong only to the given application.
:style- custom styles (see below)
You may pass a
:style option to customize the look of the HTML page.
use Plug.Debugger, style: [primary: "#c0392b", logo: "data:image/png;base64,..."]
The following keys are available:
:primary- primary color
:accent- accent color
:logo- logo URI, or
:logo is preferred to be a base64-encoded data URI so not to make any
external requests, though external URLs (eg,
https://...) are supported.
PLUG_EDITOR environment variable is set,
use it to generate links to your text editor. The variable should be
__LINE__ placeholders which will be correctly
replaced. For example (with the TextMate editor):