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.
On this page:
Installation
The first step is to add the honeybadger gem to your Gemfile:
gem 'honeybadger'
Tell bundler to install:
bundle install --deployment --without development,test
Depending 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
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:)
# ...
end
For 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:)
# ...
end
end