Suivi des erreurs PostHog pour Ruby
Cette skill vous aide à ajouter le suivi des erreurs PostHog à des applications Ruby.
Fichiers de référence
references/ruby.md- Installation du suivi des erreurs Ruby - docsreferences/fingerprints.md- Fingerprints - docsreferences/alerts.md- Envoyer des alertes de suivi des erreurs - docsreferences/monitoring.md- Surveiller et rechercher les issues - docsreferences/assigning-issues.md- Assigner des issues aux coéquipiers - docsreferences/upload-source-maps.md- Télécharger les source maps - docs
Consultez la documentation pour les détails de l'API et les patterns spécifiques aux frameworks.
Principes clés
- Variables d'environnement : Utilisez toujours les variables d'environnement pour les clés PostHog et les URLs d'hôte. Ne les codez jamais en dur.
- Changements minimaux : Ajoutez le suivi des erreurs aux côtés de la gestion des erreurs existante. Ne remplacez ni ne restructurez le code de gestion des erreurs existant.
- Autocapture en priorité : Activez l'autocapture des exceptions dans l'initialisation du SDK avant d'ajouter des captures manuelles.
- Source maps : Téléchargez les source maps pour que les stack traces se résolvent en code source original, pas en bundles minifiés.
- Capture manuelle pour les limites : Utilisez
captureException()aux limites d'erreur et dans les blocs catch pour les erreurs qui ne se propagent pas au gestionnaire global.
Directives par framework
- posthog-ruby est le nom du gem SDK Ruby (ajoutez
gem 'posthog-ruby'à Gemfile) mais chargez-le avecrequire 'posthog'(PASrequire 'posthog-ruby') - Utilisez PostHog::Client.new(api_key: key, host: host) pour l'initialisation basée sur l'instance dans les scripts et CLIs
- Dans les CLIs et scripts : VOUS DEVEZ appeler client.shutdown avant la sortie sinon tous les événements sont perdus
- Utilisez begin/rescue/ensure avec shutdown dans le bloc ensure pour un nettoyage approprié
- capture et identify prennent un seul argument hash : client.capture(distinct_id: 'user_123', event: 'my_event', properties: { key: 'value' })
- capture_exception prend des arguments POSITIONNELS (pas keyword) : client.capture_exception(exception, distinct_id, additional_properties) — N'UTILISEZ PAS la syntaxe keyword
distinct_id: