Using highlight.io with Ruby on Rails
This backend SDK requires one of the Highlight frontend SDKs to be installed, so please make sure you've followed the fullstack mapping guide first.
H.init("<YOUR_PROJECT_ID>", {
tracingOrigins: ['localhost', 'example.myapp.com/backend'],
networkRecording: {
enabled: true,
recordHeadersAndBody: true,
},
});Add Highlight to your Gemfile and install with Bundler.
gem "highlight_io"
bundle installHighlight::H.new initializes the SDK and allows you to call the singleton Highlight::H.instance. Setting your project id also lets Highlight record errors for background tasks and processes that aren't associated with a frontend session.
require "highlight"
Highlight::H.new("<YOUR_PROJECT_ID>", environment: "production") do |c|
c.service_name = "my-app"
c.service_version = "1.0.0"
endwith_highlight_context can be used as a Rails around_action to wrap any controller actions to automatically record errors.
require "highlight"
class ApplicationController < ActionController::Base
include Highlight::Integrations::Rails
around_action :with_highlight_context
endNow that you've set up the Middleware, you can verify that the backend error handling works by throwing an error in a controller. Visit the highlight errors page and check that backend errors are coming in.
class ArticlesController < ApplicationController
def index
1/0
end
endIf you want to explicitly send an error to Highlight, you can use the record_exception method within traced code.
Highlight::H.instance.record_exception(e)Start sending logs to Highlight! Follow the logging setup guide to get started.