Skill 76 · Instrument Error Tracking
Subchapter 76.26
references/ruby.mdMarkdown2 KBView on GitHub
AI agents: this is one page from PostHog’s docs. Full index of Markdown docs for LLMs: https://posthog.com/llms.txt (opens in a new tab)
1
Required
Add the PostHog Ruby gem to your Gemfile:
Gemfile
gem "posthog-ruby"2
Required
Initialize the PostHog client with your project token and host:
Ruby
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.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
begin
# Code that might raise an exception
raise StandardError, "Something went wrong"
rescue => e
posthog.capture_exception(
e,
'user_distinct_id'
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 PostHog AI
HelpfulCould be better
The 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) |
additional_properties | Hash | Additional properties to attach to the exception event (optional) |