Skip to content

Sentry client for Elixir based on the new Erlang's logger.

Notifications You must be signed in to change notification settings

ExpressApp/sparrow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sparrow Build Status Hex.pm Hex Docs Total Download License Last Updated


Sentry client for Elixir based on the new Erlang's logger. Requires Erlang 21.0 and Elixir 1.7 and later.



Features

  • Listen for events in logger (instead of deprecated error_logger and Logger);
  • Uses reducers to handle formatted erlang reports, like for Ranch (you can use your own reducers);
  • Custom HTTP client implementations via configuration (hackney by default);

Installation

  1. Add sparrrow to your list of dependencies in mix.exs:

    def deps do
      [
        {:sparrow, "~> 1.0"}
      ]
    end
  2. Add configuration to your app:

    # config/config.exs
    
    config :sparrow,
      dsn: "your_sentry_dsn",
      # optional configuration
      server_name: "server_name",
      release: "1.14.3-rc.3",
      tags: %{
        some: "of",
        your: "tags",
      }

Usage

After installation and configuration, Sparrow will catch the error reports in your app. But there are some insignificant (for most of us) features that are not documented yet, like custom reducers and HTTP client.

Every Logger.error call captured too in Elixir 1.11.x and better, but you can disable this behaviour by providing sparrow: false in metadata, like:

Logger.error("message", sparrow: false)

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

About

Sentry client for Elixir based on the new Erlang's logger.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages