Chapter 158 · Omnibus Instrument Error Tracking
Subchapter 158.17
references/ruby.mdMarkdown3 KBView on GitHub
Required
Add the PostHog Ruby gem to your Gemfile:
Gemfile
PostHog AI
gem "posthog-ruby"2
Required
Initialize the PostHog client with your project token and host:
Ruby
PostHog AI
require 'posthog'
posthog = PostHog::Client.new({
api_key: "<ph_project_token>",
host: "https://us.i.posthog.com",
on_error: Proc.new { |status, msg| print msg }
})3
Recommended
Once installed, you can manually send events to test your integration:
Ruby
PostHog AI
posthog.capture({
distinct_id: 'user_123',
event: 'button_clicked',
properties: {
button_name: 'signup'
}
})4
Required
Using Ruby on Rails? The
posthog-railsgem provides automatic exception capture for controllers and background jobs. Select “Ruby on Rails” from the SDK list for setup instructions.
To capture exceptions in your Ruby application, use the capture_exception method:
Ruby
PostHog AI
begin
# Code that might raise an exception
raise StandardError, "Something went wrong"
rescue => e
posthog.capture_exception(
e,
distinct_id: 'user_distinct_id',
properties: {
custom_property: 'custom_value'
}
)
endThe capture_exception method accepts the following parameters:
| Param | Type | Description |
|---|---|---|
| exception | Exception | The exception object to capture (required) |
| distinct_id | String | The distinct ID of the user (optional) |
| properties | Hash | Additional properties to attach to the exception event (optional) |
Recommended
Confirm events are being sent to PostHog
Before proceeding, let’s make sure exception events are being captured and sent to PostHog. You should see events appear in the activity feed.


Ask a question
HelpfulCould be better