Sauter au contenu

Journaux

L'application Journal La fenêtre s'ouvre Log Insights par défaut. Utilisez les Insights pour prioriser les catégories, les versions et les appareils pour une période de 1, 3, 7 ou 30 jours. Passer à la Journaux La sous-rubrique des journaux vous permet d'accéder aux événements, filtres et horodatages du dispositif décrits ci-dessous.

La sous-rubrique des Journaux bruts fournit une histoire détaillée des événements d'actualisation et des informations de diagnostic pour votre application. Cela est utile pour confirmer les preuves du niveau du dispositif derrière une Insight, pour résoudre un chemin d'actualisation et comprendre comment les appareils interagissent avec Capgo. Ouvrez une application, choisissez Journaux, puis choisissez la Journaux sous-rubrique.

Vue d'ensemble de la sous-rubrique des Journaux bruts montrant l'interface principale
Sous-rubrique des Journaux bruts

L'interface des Journaux bruts comprend :

  1. Registres sous onglet — le contrôle de navigation pour les lignes de journal individuelles.
  2. Réinitialiser le bouton — rafraîchit la liste de journal avec les données les plus récentes.
  3. Filtres de plage de temps et d'action — réduit l'écoulement d'événements par la plage de temps et l'action.

Chaque ligne montre :

  • Heure de timestamp (UTC)
  • ID de l'appareil
  • Action code (ce qui s'est passé)
  • Nom de version (bundle ou builtin)

Cliquez sur une ligne pour sauter à la page de détails du dispositif pour son historique complet.

Vous pouvez filtrer les journaux par une période de temps spécifique en utilisant le sélecteur de date :

Écran de sélection de plage de dates pour filtrer les journaux
Filtre de plage de dates
  1. Préférences rapides - Sélectionnez des plages de temps courantes : Dernières 1h, 3h, 6h ou 12h
  2. Heure de début - Définir une heure de début personnalisée pour la plage
  3. Heure de fin - Définir une heure de fin personnalisée pour la plage
  4. Calendrier - Sélectionner des dates spécifiques en utilisant la vue du calendrier

Cliquez sur « Sélectionner » pour appliquer votre plage de dates choisie, ou sur « Annuler » pour fermer le sélecteur.

Le menu Actions vous permet de filtrer les journaux par des types d'événements spécifiques :

Menu déroulant Actions pour filtrer les journaux par type d'événement
Filtre d'Actions

Les filtres d'action disponibles incluent :

  • Pulseur de l'appareil - Contrôles de santé périodiques des appareils
  • Suppression de version demandée - Lorsqu'une version de bundle est supprimée
  • Réinitialiser à la version par défaut - Lorsqu'un appareil redevient avec la version de bundle intégrée
  • Version installée avec succès - Installation de bundle réussie
  • Nouvelle version envoyée à l'appareil - Lorsque Capgo envoie une mise à jour à un appareil
  • Installation de version échouée - Lorsque l'installation de bundle échoue

Utilisez la zone de recherche en haut pour trouver rapidement les types d'actions spécifiques. Vous pouvez sélectionner plusieurs actions pour afficher les journaux correspondant à n'importe lequel des types sélectionnés.

Heure (UTC)ID de l'appareilActionVersionCe qu'il vous dit
2025-01-14 10:00:01A1B2C3get2.4.1L'appareil a demandé Capgo si une mise à jour est disponible
2025-01-14 10:00:03A1B2C3download_manifest_start2.4.1La mise à jour du manifeste a démarré ; SDK va télécharger des fichiers
2025-01-14 10:00:07A1B2C3download_402.4.1La téléchargement du bundle est à 40%
2025-01-14 10:00:12A1B2C3download_zip_complete2.4.1Le zip a terminé de télécharger
2025-01-14 10:00:13A1B2C3set2.4.1Le bundle a été installé et marqué comme prochain à exécuter
2025-01-14 10:05:00B9C8D7disableAutoUpdateToMajor1.9.0La politique de canal a bloqué un saut vers 2.x
2025-01-14 10:05:05B9C8D7rateLimitedintégréLe dispositif a atteint la limite de requête; SDK se retire jusqu'à la redémarrage

Pour vous aider à comprendre ce que les journaux vous disent, voici des séquences d'exemple montrant des parcours d'actualisation réels des appareils :

C'est ce que ressemble une mise à jour saine dans vos journaux :

HeureID de l'appareilActionVersionCe qu'il signifie
10:00:01a1b2c3d4get1.2.0Le dispositif a été vérifié pour des mises à jour et a reçu la version 1.2.0 d'informations
10:00:02a1b2c3d4download_101.2.0Le téléchargement a commencé, 10% terminé
10:00:03a1b2c3d4download_501.2.0Le téléchargement est à 50%
10:00:05a1b2c3d4download_complete1.2.0Le téléchargement s'est terminé avec succès
10:00:06a1b2c3d4set1.2.0L'ensemble a été installé et activé

Lorsqu'un dispositif vérifie mais a déjà la dernière version :

TempsID du dispositifActionVersionCe que cela signifie
14:30:00e5f6g7h8noNew1.2.0Le dispositif est déjà à la dernière version, aucune mise à jour n'est nécessaire

Lorsqu'une mise à jour échoue et que le dispositif redémarre :

TempsID du dispositifActionVersionCe que cela signifie
11:15:00i9j0k1l2get1.3.0Le dispositif a reçu les informations d'actualisation
11:15:02i9j0k1l2download_complete1.3.0Téléchargement terminé
11:15:03i9j0k1l2set1.3.0Le bundle a été configuré
11:15:10i9j0k1l2update_fail1.3.0L'application s'est crashée ou notifyAppReady() n'a pas été appelée - le rollback a été déclenché
11:15:11i9j0k1l2resetintégréLe dispositif a été réinitialisé vers la version intégrée

Action nécessaire: Vérifiez que votre application appelle notifyAppReady() après une initialisation réussie. Consultez la documentation du plugin pour plus de détails.

Lorsque des problèmes de réseau empêchent le téléchargement :

TempsID de l'appareilActionVersionCe que cela signifie
09:45:00m3n4o5p6get1.2.0L'appareil a reçu les informations d'actualisation
09:45:01m3n4o5p6download_301.2.0Le téléchargement a commencé mais…
09:45:15m3n4o5p6download_fail1.2.0Le téléchargement a échoué (délai de connexion perdu, etc.)

Action nécessaire: La machine se reconnectera automatiquement à la prochaine mise à jour de l'application. Aucune action requise à moins que cela se produise fréquemment.

Lorsque votre compte atteint sa limite de dispositifs :

TempsID du dispositifActionVersionCe que cela signifie
16:00:00q7r8s9t0needPlanUpgrade-Ce dispositif ne recevra pas de mises à jour jusqu'à ce que vous augmentiez votre plan ou que le cycle de facturation se réinitialise

Action requise: Augmentez votre plan ou attendre le cycle de facturation suivant.

Lorsque les paramètres de canal empêchent une mise à jour :

TempsID de l'appareilActionVersionCe que cela signifie
12:00:00u1v2w3x4disableAutoUpdateToMajor2.0.0L'appareil sur v1.x ne peut pas mettre à jour automatiquement vers v2.x (saut de version majeure bloqué)
12:05:00y5z6a7b8disableEmulator1.2.0Un émulateur a été détecté, et le canal bloque les émulateurs
12:10:00c9d0e1f2disableDevBuild1.2.0Une version de développement a été détectée, et le canal bloque les versions de développement

Action nécessaire: Ces protections sont intentionnelles. Si vous souhaitez autoriser ces mises à jour, modifiez vos Paramètres de canal.

Ces codes proviennent de stats_action l'enum utilisé par le tableau de bord API (capgo/src/types/supabase.types.ts). Si vous voyez un nouveau code dans l'interface utilisateur, il a été émis par le SDK ou backend et validé contre cette liste.

Parcours heureux & cycle de vie

Code(s)Signification
getL'appareil a demandé à Capgo le manifeste de canal actuel
download_manifest_start, download_manifest_completeTéléchargement du manifeste a commencé / terminé (pour les delta ou les ensembles de fichiers multiples)
download_zip_start, download_zip_completeTéléchargement de l'archive Zip a commencé / terminé
download_10download_90Milles de progression de téléchargement
download_0Marqueur de progression 0% pour le premier événement de progression
download_completeTout le bundle téléchargé
setBundle prêt pour le lancement suivant
resetAppareil réinitialisé vers le bundle intégré
deleteBundle supprimé de la mémoire cache locale
uninstallDétection d'une désinstallation d'application
app_moved_to_foreground, app_moved_to_backgroundÉvénements de cycle de vie de l'application enregistrés par SDK
pingVérification de santé / coeur de l'appareil
setChannel, getChannelCanal surchargé ou récupéré via SDK appel
CodePourquoi cela se produitCe que faire ensuite
invalidIpCapgo a détecté du trafic qui ressemble à du trafic de bots (IP Google/infrastructure cloud).Ignorer les utilisateurs réels; réessayer à partir de dispositifs réels et de réseaux normaux, ou vérifier après quelques temps.
needPlanUpgradeL'organisation a atteint la limite de plan/ appareil.Mettre à niveau le plan dans le tableau de bord ou attendre le prochain cycle de facturation.
semver_errorLa version native de l'application dans la configuration est manquante ou non valide (x.y.z).Définir plugins.CapacitorUpdater.version à une version valide, puis la vérifier dans Testeur de SemVer et reconstruire l'application.
disablePlatformIosiOS est désactivé dans la politique de canal.Si cela était accidentel, activez iOS dans ce canal et républiez la mise en route. Si vous bloquez intentionnellement iOS dans cette piste, gardez-le éteint et déplacez les builds iOS vers un canal séparé.
disablePlatformAndroidAndroid est désactivé dans la politique de canal.Si cela était accidentel, activez Android dans ce canal et républiez la mise en route. Si vous bloquez intentionnellement Android dans cette piste, gardez-le éteint et déplacez les builds Android vers un canal séparé.
disableAutoUpdateLe mode de mise à jour automatique du canal bloque ce style de mise à jour.Modifiez la politique de mise à jour automatique du canal (majeur/minor/patch/métadonnées/aucune) pour permettre votre lancement prévu.
disableAutoUpdateUnderNativeLe canal est configuré pour bloquer les mises à jour plus anciennes que la base de l'appareil.Envoie une version à partir ou au-dessus de la base native, ou désactivez la protection sous-native.
disableAutoUpdateMetadataLe canal nécessite min_update_version des métadonnées et l'application est plus ancienne.Configurez pour le bundle cible ou la version de sortie à partir d'une version native plus récente. min_update_version Le canal bloque les sauts de version majeure.
disableAutoUpdateToMajorConservez les versions majeures dans la même stratégie de canal, ou autorisez les sauts majeurs pour cette piste.Le canal bloque les sauts de version mineure.
disableAutoUpdateToMinorConservez les versions mineures dans la même stratégie de canal, ou autorisez les sauts mineurs pour cette piste.Le canal bloque les sauts au niveau de version de patch pour ce flux.
disableAutoUpdateToPatchAlignez votre rythme de publication, ou ouvrez les sauts de patch dans la politique de canal pour cette piste.Les mises à jour des émulateurs ne sont pas autorisées pour ce canal.
disableEmulatorSi cela était accidentel, activez les mises à jour des émulateurs dans un canal de test où vous validez les émulateurs. Si cela est intentionnel, maintenez ce canal bloqué aux émulateurs et utilisez un autre canal pour les builds d'émulateurs.Les builds de développement sont bloqués pour ce canal.
disableDevBuildSi cela était accidentel, autorisez les mises à jour de développement ou déplacez ce dispositif dans un canal autorisant les mises à jour de développement. Si cela est intentionnel, maintenez ce canal verrouillé aux seules builds de publication.__CAPGO_KEEP_0__
disableProdBuildA appareil construit en mode de production appelé /updates, tandis que votre canal est bloqué.Si cela était accidentel, autorisez les mises à jour de production dans ce canal et républiez. Si c'est intentionnel, maintenez la restriction et envoyez les builds de production au bon canal/construction.
cannotGetBundleCapgo n'a pas pu construire une URL de téléchargement valide pour le bundle sélectionné.Ré-uploadez le bundle ou régénérez les manifestes et vérifiez les paramètres du bundle R2/public.
cannotUpdateViaPrivateChannelL'application a essayé de se basculer vers un canal privé qui ne permet pas la réaffectation.Activer allow_device_self_set sur le canal ou basculer vers un canal public/autorisé.
channelMisconfiguredLa règle d'auto-mise à jour du canal manque de données requises (version_number sans min_update_version).Remplissez la configuration manquante pour cette règle ou basculer vers un mode d'auto-mise à jour plus simple.
missingBundleLe bundle n'a pas de contenu téléchargeable (manquant external_url/r2_path et aucun manifeste).Reconstruire/télécharger à nouveau la version et vérifier que le bundle a un contenu de fichier réel.
NoChannelOrOverrideAucun canal ne correspond à cet appareil (pas de cloud par défaut + pas de fallback de configuration + pas de surcharge).Définir une valeur par défaut de canal dans le tableau de bord ou conserver un test defaultChannel dans cette build.
rateLimitedTrop d'appels d'actualisation/canal en un court laps de temps (souvent boucle de rendu setChannel/getChannel).Arrêtez d'appeler en boucle de rendu. Appelez uniquement en action de l'utilisateur. Utilisez defaultChannel dans capacitor.config.
keyMismatchLes identifiants des clés de l'application et du bundle diffèrent (device_key_id vs bundle_key_id).Dans la console, comparez les identifiants de clé de l'appareil et du bundle. Si ils diffèrent, publiez avec la même clé et la même version de plugin CLI; l'encodage de la clé peut différer entre les versions.
disableDeviceUn téléphone/tablette réel a été bloqué car ce canal est configuré pour bloquer les appareils réels.If c'est accidentel, activez les mises à jour de dispositifs réels dans ce canal. Si c'est intentionnel, gardez-le bloqué et dirigez les dispositifs réels vers un autre canal.
disablePlatformElectronElectron est bloqué dans ce canal.Si cela était accidentel, activez Electron dans ce canal et républiez la configuration de routage. Si c'est intentionnel, gardez-le bloqué et envoyez les utilisateurs d'Electron à un canal dédié.
customIdBlockedUn ID de dispositif personnalisé a été envoyé, mais cette application ne prend pas en charge les IDs personnalisés.Éteignez l'envoi d'IDs personnalisés ou activez uniquement les IDs personnalisés si votre workflow le nécessite.
blocked_by_server_urlL'application est server.url configurée, donc Capacitor sert des URL distantes au lieu de fichiers locaux.Supprimer/effacer server.url pour les builds de production et gardez les payloads de mise à jour locaux.
backend_refusalLe metteur à jour est v4, qui n'est plus accepté par le serveur.Met à niveau le plugin/CLI v5+ (préfère v8), avec Capacitor v5+, puis rebuild et republiez les métadonnées du bundle.
Bloc de configuration ou de politique
Code(s)Pourquoi l'update a été bloqué
disableAutoUpdate, disableAutoUpdateToMajor, disableAutoUpdateToMinor, disableAutoUpdateToPatch, disableAutoUpdateMetadata, disableAutoUpdateUnderNativeLa stratégie de canal interdit cela Saut de version semver
disablePlatformIos, disablePlatformAndroidLa plateforme est désactivée sur le canal
disableDevBuild, disableEmulatorLes builds de développement ou les émulateurs ne sont pas autorisés
disableProdBuild, disableDevice, disablePlatformElectronLes builds de production, les appareils réels ou Electron sont bloqués pour ce canal.
customIdBlockedLes identifiants d'appareil personnalisés ne sont pas acceptés pour cette application.
cannotUpdateViaPrivateChannel, NoChannelOrOverride, channelMisconfiguredÉchec de la sélection ou de la surcharge de canal
missingBundle, cannotGetBundleLe manifeste fait référence à un ensemble Capgo ne peut pas servir
needPlanUpgradeL'organisation a atteint ses limites de plan/ appareil

Échecs de téléchargement / intégrité / installation

Code(s)Signification
download_failTéléchargement de l'ensemble a échoué (erreur de réseau ou de réponse)
download_manifest_file_fail, download_manifest_checksum_fail, download_manifest_brotli_failLe fichier de manifeste ne pouvait pas être récupéré ou validé
checksum_fail, checksum_requiredÉchec de la vérification d'intégrité ou manque de checksum
unzip_fail, directory_path_fail, canonical_path_fail, windows_path_failVérification de système de fichiers ou d'archive unzip a échoué
decrypt_failDéchiffrement a échoué (ensemble chiffré)
update_failL'ensemble a été installé mais l'application n'a jamais appelé notifyAppReady(); annulation déclenchée
download_zip_* avec aucune conséquence ultérieure setTéléchargement terminé mais phase d'installation jamais terminée
Code(s)Signification
app_crash, app_crash_nativeÉvénements de panne provenant des couches de runtime ou native. Les métadonnées incluent souvent l'information de pile, de source et de version active.
app_anrAndroid a signalé un Application Not Responding.
app_killed_low_memory, app_killed_excessive_resource_usageL'arrêt du processus d'application en raison de limites de mémoire ou de ressources.
app_initialization_failure, app_memory_warningL'initialisation a été interrompue ou la pression de mémoire a été observée avant le runtime normal.
webview_javascript_error, webview_unhandled_rejection, webview_resource_error, webview_security_policy_violation, webview_unclean_restart, webview_render_process_gone, webview_content_process_terminatedLes erreurs de cycle de vie de WebView et de rendu JS. Installez Sentry dans les deux couches JS et native pour capturer les traces de pile, le contexte de session/ appareil et l'URL/état pour des corrections plus rapides.
os_version_changed, native_app_version_changedLa version de l'OS ou de l'application native a changé ; cela aide à séparer les effets de déploiement au niveau de la plateforme des comportements du paquet web.

➡️ Besoin de conseils plus détaillés sur code ? Consultez Guide de référence et de débogage complet de la journalisation Code .

Obtenir plus de détails sur un journal

Sous-titre : « Obtenir plus de détails sur un journal »

Si vous cliquez sur une entrée de journal spécifique, cela vous emmène généralement à la page du dispositif. Cela vous permet de voir l'ensemble de l'historique pour ce dispositif en particulier, ce qui peut être très utile pour diagnostiquer les problèmes spécifiques au dispositif ou comprendre son parcours de mise à jour.

Si vous utilisez Journaux pour planifier le tableau de bord et les opérations API, connectez-le à Vue d'ensemble de API pour les détails d'implémentation dans Vue d'ensemble de API, Introduction pour les détails d'implémentation dans Introduction, Clés de API pour les détails d'implémentation dans Clés de API, Appareils pour les détails d'implémentation dans Appareils, et Bundles pour les détails d'implémentation dans Bundles.