New Search Features

Today we're releasing a powerful new set of search features not only to help you find errors inside of Honeybadger, but to tell Honeybadger which errors you want to be notified of.

Today we're releasing a powerful new set of search features not only to help you find errors inside of Honeybadger, but to tell Honeybadger which errors you want to be notified of.

If there's one thing we've learned while building Honeybadger, it's that understanding and prioritizing data is hard. Not only must we find the relevant information and present it in a way which is understandable, but then we need to decide what to do with it; this is sometimes referred to as "signal vs. noise." We did our best to tackle these problems specifically for the Ruby community, and we think the results speak for themselves: in 5 minutes or less you can monitor your Ruby app for errors and other performance issues.

We also built a ton of options for when and how to be notified of errors, from email and SMS to GitHub, Jira, Slack, HipChat, and many more. One thing we noticed about our integrations is that we didn't always want the same notification everywhere; for example, sometimes we wanted errors from staging to show up on Slack, but only errors from production to be sent via email. To make matters worse, everyone had their own preferences. We built the ability to disable each notification individually for certain environments, but it was soon clear that our customers wanted even more control over what errors they were notified about.

Today we're excited to introduce two powerful new features:

  1. A new query syntax for our existing (and awesome) error search.

  2. Search filters for alerts and integrations.

Let's explain each in turn.

New query syntax

In addition to full-text search across many error attributes such as the class, message, params, and context, we've added a key:value token syntax to filter the results directly from your search query. Here's an example query: ruby request failed class:httperror -tag:wip -tag:postending component:userscontroller action:update The first part of the query -- "request failed" -- is a full-text search. This works like it always has, and will return any results which include the words "request" and "failed" in the search index. The magic happens at class:HTTPError , which tells us to return only instances of class HTTPError . Next, "-tag:wip -tag:pending" both exclude any errors tagged with "wip" or "pending". Finally, we only want errors which happened in UsersController#update .

These tokens can be combined to form very finely-grained results. To learn more about what kinds of tokens you can use, check out the documentation.

Search filters for notifications

The new query syntax is pretty powerful, right? What if you could use the same queries to filter each type of error notification available in Honeybadger today for both personal notifications and project integrations?

Yeah, we wish we had that too trollface.

Just kidding, we totally built that, and it's available today to plans Medium and above. When you edit your alerts and integrations under project settings you will now see a new section called "Error Filters":

Search filters

To create a filter:

  1. Choose which event you want it to apply to or choose "All events".

  2. Enter a query just as you would when searching for errors.

  3. Save your settings.

You should now receive notifications only when they match your new search filter. You can also add multiple filters per event, in which case you will be notified when the error matches any one of the filters for that notification.

On a recent JavaScript project I created a filter for "When a fault occurs" with a query of -class:window.onerror so that I wouldn't receive any more emails about window.onerror events, since they aren't typically very actionable on that project. That's just one of the myriad ways these filters can be combined to receive actionable alerts, though. Since you can send tags from our Ruby gem amd JavaScript notifiers, why not create a filter for all errors tagged with "slack" and then use the filter "tag:slack" to tell Honeybadger that Slack should be notified, for example?

That's right, it's time to get creative! We'd love to hear about how you find value in this feature. Feel free to drop us a line if you come up with a cool way to use the new filters.

Not using Honeybadger yet or need to upgrade? Check out our awesome error tracking plans!

What to do next:
  1. Try Honeybadger for FREE
    Honeybadger helps you find and fix errors before your users can even report them. Get set up in minutes and check monitoring off your to-do list.
    Start free trial
    Easy 5-minute setup — No credit card required
  2. Get the Honeybadger newsletter
    Each month we share news, best practices, and stories from the DevOps & monitoring community—exclusively for developers like you.
    author photo

    Joshua Wood

    Josh is Honeybadger's resident bug hunter and technical debt collector. Once enthusiastically referred to as a "human exception tracker", he spends his days crafting the middleware, plugins, and gems which keep the 'badger fat and happy through a steady diet of fresh data.

    More articles by Joshua Wood
    Stop wasting time manually checking logs for errors!

    Try the only application health monitoring tool that allows you to track application errors, uptime, and cron jobs in one simple platform.

    • Know when critical errors occur, and which customers are affected.
    • Respond instantly when your systems go down.
    • Improve the health of your systems over time.
    • Fix problems before your customers can report them!

    As developers ourselves, we hated wasting time tracking down errors—so we built the system we always wanted.

    Honeybadger tracks everything you need and nothing you don't, creating one simple solution to keep your application running and error free so you can do what you do best—release new code. Try it free and see for yourself.

    Start free trial
    Simple 5-minute setup — No credit card required

    Learn more

    "We've looked at a lot of error management systems. Honeybadger is head and shoulders above the rest and somehow gets better with every new release."
    — Michael Smith, Cofounder & CTO of YvesBlue

    Honeybadger is trusted by top companies like:

    “Everyone is in love with Honeybadger ... the UI is spot on.”
    Molly Struve, Sr. Site Reliability Engineer, Netflix
    Start free trial