A plug for sending JavaScript errors to AppSignal
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


AppSignal for Elixir JavaScript Plug

A plug for sending JavaScript errors to AppSignal. Works for Phoenix and Plug-only apps.

Note: This is not an official AppSignal package. It's is not supported by AppSignal. Use at your own risk.


Add the following parser to your endpoint.ex file.

plug Plug.Parsers,
  parsers: [:urlencoded, :multipart, :json],
  pass: ["*/*"],
  json_decoder: Poison

plug Appsignal.JSPlug # Above your app's router plug
plug MyExampleApp.Router

Now send the errors with a POST request to the /appsignal_error_catcher endpoint. An example JavaScript is provided on the AppSignal docs website in the Front-end error handling section.

For more information see the AppSignal Front-end error handling Beta docs.


Make sure to install the AppSignal for Elixir package first by following the installation guide.

After having successfully installed AppSignal add appsignal_js_plug to your list of dependencies in mix.exs.

# mix.exs
def deps do
    {:appsignal, ">= 1.3.0"},
    {:appsignal_js_plug, "~> 0.2"}

Then run mix deps.get.



This package listens to the AppSignal for Elixir filter_parameters configuration option. If this option is set, all parameters values matching a key name from the configuration will be replaced with [FILTERED].

# config/appsignal.exs
config :appsignal, :config, filter_parameters: ["password"]


This package listens to the AppSignal for Elixir skip_session_data configuration option. If this option is set to true, no session data will be added to the JavaScript errors.

# config/appsignal.exs
config :appsignal, :config, skip_session_data: true



Package testing is done with ExUnit and can be run with the mix test command. You can also supply a path to a specific file path you want to test and even a specific line on which the test you want to run is defined.

mix deps.get
mix test
mix test test/appsignal/some_test.ex:123

Publishing new versions

  1. Merge the develop branch to master if necessary.
  2. Update the version number in mix.exs, e.g. 1.2.3
  3. Commit the change.
  4. Tag the commit with the version number: git tag 1.2.3
  5. Push the changes: git push origin master 1.2.3
  6. Publish the package: mix hex.publish


The AppSignal for Elixir JavaScript Plug package source code is released under the MIT License. Check the LICENSE file for more information.