Suivi des erreurs PostHog pour Node.js
Cette skill vous aide à ajouter le suivi des erreurs PostHog aux applications Node.js.
Fichiers de référence
references/node.md- Installation du suivi des erreurs Node.js - docsreferences/fingerprints.md- Fingerprints - docsreferences/alerts.md- Envoyer des alertes de suivi des erreurs - docsreferences/monitoring.md- Surveiller et rechercher des 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 API et les modèles spécifiques aux frameworks.
Principes clés
- Variables d'environnement : Utilisez toujours des 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 pas le code de gestion des erreurs existant.
- Autocapture en premier : Activez l'exception autocapture 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 au code source original, pas aux bundles minifiés.
- Capture manuelle pour les limites : Utilisez
captureException()aux limites d'erreurs et dans les blocs catch pour les erreurs qui ne se propagent pas au gestionnaire global.
Directives de framework
- posthog-node est le nom du package SDK Node.js côté serveur – N'UTILISEZ PAS posthog-js sur le serveur
- Incluez enableExceptionAutocapture: true dans les options du constructeur PostHog
- Ajoutez des appels posthog.capture() dans les handlers de routes pour les actions utilisateur significatives – chaque route qui crée, met à jour ou supprime des données doit tracker un événement avec des propriétés contextuelles
- Ajoutez posthog.captureException(err, distinctId) dans le gestionnaire d'erreurs de l'application (par exemple, middleware d'erreurs Express, setErrorHandler de Fastify, app.on('error') de Koa)
- Dans les serveurs de longue durée, le SDK traite automatiquement les événements par lots – NE réglez PAS flushAt ou flushInterval sauf si vous avez une raison spécifique
- Pour les processus de courte durée (scripts, CLIs, serverless), réglez flushAt à 1 et flushInterval à 0 pour envoyer les événements immédiatement
- Un reverse proxy N'EST PAS nécessaire pour Node.js côté serveur – seul le JavaScript côté client a besoin d'un proxy pour éviter les bloqueurs de publicités
- Rappelez-vous que le code source est disponible dans le répertoire node_modules
- Vérifiez package.json pour la vérification de type ou les scripts de compilation pour valider les changements