Skip to content

Journalisation et diagnostic

AppPorts dispose d'un système de journalisation intégré qui enregistre les événements clés, les opérations de migration, les informations système et les détails d'erreur pendant l'exécution de l'application. En cas de problèmes, vous pouvez exporter un package de diagnostic et le soumettre sur la page Issues du projet pour le dépannage.

Contenu journalisé

Informations de session de démarrage

Les informations suivantes sont enregistrées à chaque démarrage de l'application :

ÉlémentDescription
ID de sessionIdentifiant unique pour cette exécution (préfixe UUID de 8 caractères)
ID de processusIdentifiant de processus système
Bundle IDIdentifiant de l'application
Langue de l'applicationCode de langue actuellement sélectionné
Paramètres régionaux systèmeIdentifiant des paramètres régionaux système
Fuseau horaireIdentifiant du fuseau horaire actuel
Liste de langues préféréesOrdre des langues préférées du système

Informations de diagnostic système

ÉlémentDescription
Version de l'applicationNuméro de version et numéro de build
Version de macOSVersion du système et nom commercial (par ex., « macOS Sequoia 15.x »)
Modèle de l'appareilModèle et nom convivial (par ex., « MacBook Pro (14 pouces, M3 Pro, 2023) »)
Informations processeurChaîne de marque, nombre de cœurs, nombre de cœurs actifs
Mémoire physiqueMémoire totale

Informations de stockage externe

Enregistrées lors de la sélection d'un volume de stockage externe :

ÉlémentDescription
Nom du volumeNom du volume de stockage
Capacité totale / Espace disponibleInformations d'espace de stockage
Format du système de fichiersPar ex., APFS, HFS+, exFAT, etc.
Protocole d'interfaceUSB, Thunderbolt, NVMe/SATA
Vitesse de l'appareilInformations de taux de transfert
Taille de blocTaille de bloc de stockage
UUID du volumeIdentifiant unique du volume de stockage

Événements d'opération de migration

Chaque opération de migration génère un ID d'opération unique (par ex., data-migrate-ABCD1234), enregistrant :

  • Début et fin de l'opération
  • Progression de chaque étape (copie, suppression du répertoire original, création du lien symbolique, annulation)
  • Instantanés de l'état du chemin avant et après les étapes (existence, permissions, taille, cible du symlink, drapeau immuable)
  • Détection de données de migration résiduelles et récupération automatique
  • Progression de la copie de fichiers, erreurs et réessais

Rapports de performance de migration

ÉlémentDescription
Nom de l'applicationNom de l'application migrée
Taille des donnéesVolume de données migré
DuréeDurée de la migration (secondes)
Vitesse de transfertTaux de transfert (Mo/s)
Chemin source / Chemin de destinationChemins de début et fin de la migration

Détails des erreurs

Les journaux d'erreur contiennent des informations structurées :

ChampDescription
Description de l'erreurDescription d'erreur lisible par l'humain
Type / Domaine / Code d'erreurInformations structurées NSError
Raison de l'échecRaison détaillée de l'échec
Suggestion de récupérationSuggestion de récupération fournie par le système
Chemin du fichierChemin du fichier affecté
Erreur sous-jacenteErreur imbriquée enregistrée récursivement

Résumé des opérations

Chaque opération de migration génère un OperationSummaryRecord, conservant les 100 enregistrements les plus récents :

ChampDescription
operationIDIdentifiant unique de l'opération
categoryCatégorie d'opération (app_move, data-migrate, file-copy, etc.)
resultRésultat (success, failed, rolled_back, success_with_warning)
errorCodeCode d'erreur (le cas échéant)
startedAt / endedAtHeure de début et de fin
durationMsDurée (millisecondes)

Configuration des journaux

Emplacement de stockage

Chemin par défaut du journal :

text
~/Library/Application Support/AppPorts/AppPorts_Log.txt

Peut être personnalisé via :

  • Barre de menus → Journaux → Définir l'emplacement du journal
  • Réglages → Réglages de journalisation → Chemin personnalisé

Format du journal

text
[2026-05-08 09:30:00] [INFO] [session:a1b2c3d4] [pid:12345] Application démarrée
[2026-05-08 09:30:01] [DIAG] [session:a1b2c3d4] [pid:12345]   app_version: 1.6.1 (123)
[2026-05-08 09:30:05] [PERF] [session:a1b2c3d4] [pid:12345]   Migration terminée : 2.3 Go, 45.2 Mo/s, 52.1s

Niveaux de journal

NiveauDescription
INFOInformations générales
ERRORInformations d'erreur (avec détails d'erreur structurés)
DIAGInformations de diagnostic système
DISKInformations de volume de stockage externe
PERFRapport de performance de migration
TRACEÉtat de chemin de bas niveau et surveillance de dossiers
DEBUGInformations de débogage (calcul de taille, vérifications de répertoires imbriqués)
WARNAvertissements (données de migration résiduelles, mode de récupération)

Rotation des journaux

  • Taille maximale par défaut : 2 Mo (configurable : 1 Mo, 5 Mo, 10 Mo, 50 Mo, 100 Mo)
  • Troncation automatique en cas de dépassement : Supprime la moitié la plus ancienne des lignes, conserve la moitié la plus récente

Exporter le package de diagnostic

Lorsque des problèmes nécessitent un retour, veuillez exporter un package de diagnostic et le joindre à l'Issue.

Méthodes d'exportation

Méthode 1 : Barre de menus

  1. Cliquer sur Barre de menus → Journaux → Exporter le package de diagnostic
  2. Choisir l'emplacement de sauvegarde
  3. Le système génère automatiquement un fichier .zip et l'ouvre dans le Finder

Méthode 2 : Page des réglages

  1. Ouvrir AppPorts → Réglages (coin supérieur droit)
  2. Trouver la section « Réglages de journalisation »
  3. Cliquer sur le bouton « Exporter le package de diagnostic »
  4. Choisir l'emplacement de sauvegarde

Contenu du package de diagnostic

Le fichier AppPorts-Diagnostic-<datetime>.zip exporté contient :

FichierFormatDescription
diagnostic-summary.jsonJSONMétadonnées (ID de session, version, paramètres régionaux, fuseau horaire, etc.)
diagnostic-summary.txtTexte brutRésumé de diagnostic lisible par l'humain
recent-operations.jsonJSON100 enregistrements d'opérations les plus récents
recent-failures.jsonJSON20 opérations échouées/avec avertissement les plus récentes
AppPorts_Log.share-safe.txtTexte brutJournal complet (révisé)

Protection de la vie privée

Les fichiers journaux du package de diagnostic sont révisés :

Contenu originalRemplacé par
Chemin du répertoire personnel de l'utilisateur (par ex., /Users/john)/Users/<redacted-user>
Nom du volume de stockage externe (par ex., /Volumes/MyDrive)/Volumes/<redacted-volume>
Chemin complet $HOME~

Soumettre des Issues

Après avoir obtenu le package de diagnostic, suivez ces étapes pour soumettre :

  1. Visiter la page Issues du projet
  2. Cliquer sur « New Issue », sélectionner le modèle de rapport de bug
  3. Décrire le problème et les étapes de reproduction
  4. Glisser le fichier .zip de diagnostic dans la zone de pièce jointe pour télécharger
  5. Soumettre l'Issue

💡 Améliorer l'efficacité des retours

Soumettre des Issues avec des packages de diagnostic peut accélérer significativement la résolution des problèmes. Le package de diagnostic contient l'historique complet des opérations, les détails d'erreur et les informations d'environnement système, permettant aux développeurs de reproduire et analyser les problèmes sans communication répétée.

最近更新