ErrorTracker - an Elixir-based built-in error tracking solution

This would be a great start! Looking forward to this, so I could plug ErrorTracker to a Telegram bot for real-time alerts.

1 Like

It is already available! ErrorTracker.Telemetry — ErrorTracker v0.3.0

2 Likes

Hi all!

ErrorTracker has just reached 10k downloads. To celebrate we have just released v0.4.0 with a much requested feature:

  • Support for sanitizing and filtering out sensible information from the context. The error context may include some sensible information and now you can filter it out just before an error is tracked.

Thanks to everyone who uses the ErrorTracker and improves it either by opening issues or pull requests :hugs: :heart:

6 Likes

Hello all!

We have just released v0.5.0 with new improvements and features:

  • Support for breadcrumbs: it allows you to store strings dynamically in your code to know which code was executed to help you debug an error. Documentation
  • Better support for Ash exceptions: Ash includes the concept of breadcrumbs in their exceptions, so you can see them now on the error tracker natively.
  • Better mobile experience: the ErrorTracker is not designed to be used in mobile, but we made some changes on the error list to make it at least functional on mobile.

We have also included other minor fixes that can be seen on the GitHub release.

Important note: this release includes schema changes to support the new features, so you need to create a migration to update the schema to version: 4.

Thanks to everyone using the library, reporting and fixing bugs :hugs:

6 Likes

We’ve just released the patch version v0.5.1 including:

  • Some updates to documentation
  • Fix an error using the v0.5.0 with PostgreSQL if you are using a custom prefix
  • Adds Elixir v1.18 to our CI checks
  • Improvements to the development tools of the library

Link to release notes

4 Likes

Are there any plans:

  • to enable live update (via a trigger on the DB)?
  • to offer an option to delete all entries (or prune/archive)?

Many thanks for this library. It’s very handy during development while having the ā€œbig onesā€ (aka sentry) in production

absolutely love this project. i do wonder what are the plans for a Logger backend? I mean my app is using Logger.error a lot and they are unexpected errors, just caught, because the genserv has to decide on timeouts depending on the error.

edit: tried adding a custom LoggerBackend, but ErrorTracker.report() just wouldn’t play ball. Ended up using Tower, since they do have a LoggerBackend (but there is a documentation issue)

I’m a big fan of ErrorTracker. Thanks @ belaustegui for putting this together! For those who want email/Discord notifications, I created an add-on ibrary error_tracker_notifier | Hex that listens to error_tracker’s telemetry and sends emails/Discords. It has a throttle capability too so it won’t send the same error multiple times in x seconds.

Note: this was primarily vibe-coded with a little oversight and is a V 0.1 so please take with appropriate grains of salt. Feedback/PRs are appreciated!

3 Likes

Looks cool! We can take a look into adding a section of community plugins to the README and docs.

Thanks a lot for your contribution :heart:

2 Likes

Awesome. And/or feel free to take it over/add it. It was just something I was craving from ErrorTracker so figured I’d build and share :).

1 Like

Thanks , it is great to have such tool as it is great to log errors but notifications is a great tool to get people attention to work on it. I had worked on a project where every exception is sent to a slack group in the initial go live stage just to make sure no exception will be left without action and tracking.

1 Like

Yeah it should not be hard for someone to add a slack hook and config. It was pretty easy to add a discord one

1 Like

Just a heads up I updated to 0.2 with a breaking change. As this is a library, the configuration should be :error_tracker_notifier and not :my_app, :error_tracker_notifier

If you are already using this library, please remove the :my_app from the config when you update.

Carry on!

1 Like

The point on notifications is that they are the kind of problem that seems easy but its not. People expect it to work in different ways (depending who you ask), expect to be able to customize things like notification rate, repeat rules, custom ignore rules, silence notifications…

That’s why (for now) we are just publishing the Telemetry events and let people build their own solution - so it can be extendable and customizable.

(It isn’t a ā€œit’s never going to be madeā€ at all, but we feel like we are not yet on that point. We may add some notifications at some point, but we have other aspects to build before that to make it work as we want to)

And of course I really love seeing the community building other packages to add that functionality :heart: it is really welcome and you are awesome for building it.

2 Likes

Version v0.7.0 has just been released with a bunch of improvements and fixes:

  • An all-new Igniter installer
  • Improved support for LiveView 1.x
  • MariaDB fixes (this was contributed upstream to ecto_sql)
  • Better sensitive header redaction

Take a look at the release notes or check the project page at hex.pm.

Thanks to all the contributors! :cherry_blossom:

6 Likes

Version 0.8.0 has just been released with a couple of improvements:

  • A few documentation tweaks to the documentation
  • Jason becomes an optional dependency. Native JSON module will be automatically used when available (Elixir 1.18 or newer)

Take a look at the release notes or check the project page at hex.pm.

Cheers! :person_bowing:

6 Likes