Tracking Ruby errors on AWS Lambda
Typical installation time: 1 minute
Hi there! You’ve found Honeybadger’s guide to Ruby Exception and error tracking on AWS Lambda and Serverless. Once installed, Honeybadger will report exceptions wherever they may happen.
If you’re new to Honeybadger, read our Getting Started guide to become familiar with our Ruby gem. For a refresher on working with exceptions in Ruby, check out the Honeybadger guide to Ruby exceptions.
Installation
Section titled “Installation”The first step is to add the honeybadger gem to your Gemfile:
gem 'honeybadger'Tell bundler to install:
bundle install --deployment --without development,testDepending on your deployment method, vendoring might be required to ensure your dependencies are included. We think the serverless framework is a cool way to manage your lambda functions.
It may help to use a Ruby version manager (something like asdf or rvm) to ensure you are building against your selected lambda Ruby runtime. You can view a list of lambda runtime versions here.
You can configure Honeybadger in your Lambda by adding your API key via the
HONEYBADGER_API_KEY environment variable.
Capturing exceptions
Section titled “Capturing exceptions”To automatically capture exceptions from your Lambda handler, register your
handlers with the hb_wrap_handler method. Any unhandled exceptions raised
within the specified methods will be automatically reported to Honeybadger.
require 'honeybadger'
hb_wrap_handler :my_handler1, :my_handler2
def my_handler1(event:, context:) # ...end
def my_handler2(event:, context:) # ...endFor class methods, you’ll need to first extend our LambdaExtensions module:
class MyLambdaApp extend ::Honeybadger::Plugins::LambdaExtension
hb_wrap_handler :my_handler
def self.my_handler(event:, context:) # ... endend