Documentation · Opérations et maintenance
Journaux et surveillance
Ce document explique le système de journaux de l'extension, comment lire et gérer les fichiers de log, et comment utiliser les panneaux de surveillance intégrés dans l'administration de WordPress pour suivre les erreurs et les avertissements en production.
Quand utiliser ce document
Lisez ce document si vous êtes un administrateur de site responsable de la surveillance d'un site en production, du diagnostic de comportements inattendus ou de la préparation d'informations pour une demande de support. Il couvre tout ce qui est nécessaire pour comprendre, afficher et maintenir le journal de l'extension.
Aperçu
L'extension écrit toutes les sorties de diagnostic dans un seul fichier de log brut stocké dans le répertoire des téléversements de WordPress. Le journal enregistre l'activité d'importation, les réponses de l'API, les résultats du téléchargement d'images, les événements cron et toutes les erreurs ou avertissements qui surviennent pendant le fonctionnement de l'extension.
L'accès au journal est fourni via la page d'administration ADP Car Market Hub → Logs, qui présente :
- Un panneau Erreurs récentes affichant les dernières entrées de niveau d'erreur
- Un panneau Avertissements récents affichant les dernières entrées de niveau d'avertissement
- Un Lecteur de journaux pour lire et vider le fichier de log brut
L'onglet System & Help (ADP Car Market Hub → System & Help) fournit une surveillance complémentaire au niveau du système : état de la connectivité API, planification des tâches cron, vérifications de l'environnement PHP et actions des tâches en arrière-plan.
Configuration requise
- Compte administrateur avec la capacité
manage_as24_imports. - Le répertoire des téléversements de WordPress doit être accessible en écriture par le processus du serveur web pour que le fichier de log puisse être créé et écrit.
Emplacement et format du fichier de log
Le fichier de log est écrit dans :
{wp-uploads}/as24ci-logs/adp-car-market-hub.log
Où {wp-uploads} est le répertoire de base des téléversements de WordPress, généralement wp-content/uploads/.
Le répertoire des journaux est automatiquement protégé contre l'accès web public par un fichier .htaccess (pour Apache) et un fichier silencieux index.php. Tous deux sont créés lors de la première configuration du répertoire par l'extension.
Chaque ligne de log suit le format :
[YYYY-MM-DD HH:MM:SS UTC] [LEVEL] Message text
Par exemple :
[2025-04-30 06:15:03 UTC] [INFO] Import runner (wp-cron): started.
[2025-04-30 06:15:47 UTC] [INFO] Import runner (wp-cron) finished: inserted=3 updated=12 skipped=85 errors=0
[2025-04-30 06:16:02 UTC] [INFO] Image queue worker: processed=30 errors=0 remaining=45
Niveaux de log
| Niveau | Quand est-il utilisé |
|---|---|
INFO | Fonctionnement normal : importation démarrée/terminée, progression de la file d'attente des images, événements de configuration |
WARNING | Fonctionnement dégradé : échecs de téléchargement d'images, détection de verrou obsolète, repli de conversion WebP |
ERROR | Échecs nécessitant une attention : erreurs d'API, échecs de chargement de médias, erreurs d'enregistrement de publication |
DEBUG | Messages de diagnostic détaillés (uniquement enregistrés lorsque des conditions spécifiques se produisent, comme l'utilisation de l'authentification par jeton de paramètre de requête) |
Journalisation détaillée
Lorsque la journalisation détaillée est activée (par défaut), l'importateur écrit une ligne de log supplémentaire pour chaque véhicule traité et chaque action d'image entreprise. Cela est utile pour diagnostiquer les problèmes d'importation sur de petits catalogues, mais peut générer un volume de log important sur les grands catalogues.
La journalisation détaillée est contrôlée par l'option Verbose logging. Pour réduire le volume des journaux sur les grands catalogues, désactivez la journalisation détaillée dans les réglages de l'extension.
Lorsque la journalisation détaillée est activée, vous verrez des lignes telles que :
[INFO] Import vehicle abc123 (seller 456) begin.
[INFO] Import vehicle abc123 result=updated.
Masquage de sécurité dans les journaux
Le système de journalisation masque automatiquement les valeurs sensibles avant de les écrire sur le disque :
- Les paramètres de requête
token=...sont remplacés partoken=*** - Les paramètres
client_secret=...sont remplacés parclient_secret=*** - Les valeurs d'en-tête
Authorization: Bearer ...sont remplacées parBearer ***
Cela signifie que le fichier de log ne contient pas d'identifiants API ni de jetons cron, même s'ils apparaissent dans une URL ou un contexte de requête.
Rotation des journaux et gestion des archives
Le système de journalisation vérifie périodiquement la taille du fichier de log (au premier appel puis tous les 100 appels de journalisation). Lorsque le fichier dépasse 10 Mo, le fichier de log actuel est déplacé vers une archive horodatée dans le même répertoire en utilisant le format :
adp-car-market-hub-YYYYMMDD-HHMMSS.log
Un nouveau fichier de log actif vide est alors démarré automatiquement.
Les fichiers d'archive datant de plus de 7 jours sont automatiquement supprimés à chaque vérification de rotation.
Si vous devez conserver l'historique des journaux plus de 7 jours, copiez les fichiers de log archivés vers un emplacement de stockage distinct avant qu'ils ne soient purgés.
Utilisation de la page d'administration Logs
Affichage des erreurs et avertissements récents
- Ouvrez ADP Car Market Hub → Logs.
- Le panneau Erreurs récentes affiche les entrées les plus récentes contenant
[ERROR]parmi les 2 000 dernières lignes du fichier de log (jusqu'à 50 entrées). - Le panneau Avertissements récents affiche les entrées les plus récentes contenant
[WARNING]à partir de la même fenêtre d'analyse. - Si les deux panneaux sont vides, aucune erreur ou avertissement n'a été trouvé dans l'historique récent des journaux.
Affichage du journal brut
- Sur la même page, faites défiler vers le bas jusqu'à la carte Lecteur de journaux.
- Le lecteur affiche les 500 dernières lignes par défaut. Modifiez le champ Lignes et cliquez sur Recharger pour afficher un nombre différent (de 100 à 2 000 lignes).
- Cliquer n'importe où dans le texte du lecteur de journaux sélectionne tout le contenu visible, ce qui facilite la copie du journal pour une analyse externe.
Vider le fichier de log
- Dans la barre d'outils du Lecteur de journaux, cliquez sur Vider le fichier de log.
- Confirmez l'invite de dialogue. Le fichier est tronqué pour être vide et une seule entrée de confirmation est écrite.
- Vider le journal est une action irréversible. Effectuez une copie au préalable si vous devez en conserver le contenu.
Le bouton pour vider le journal n'est affiché que lorsque le fichier de log existe. Si le fichier n'est pas trouvé ou n'est pas accessible en écriture, une notification s'affiche.
Surveillance de l'onglet System & Help
La page ADP Car Market Hub → System & Help fournit une surveillance de l'environnement et de la connectivité :
| Section | Ce qu'elle affiche |
|---|---|
| Connectivité & API | Accessibilité et code de réponse du point de terminaison de l'API AutoScout24, état et expiration du jeton OAuth, accessibilité du point de terminaison cron de l'API REST, accessibilité de l'API Market Hub |
| Tâches en arrière-plan | Noms des hooks WP-Cron, planification, heure de la prochaine exécution, état de verrouillage et boutons de déclenchement manuel pour la tâche d'importation, le gestionnaire de file d'attente d'images, le nettoyage des analyses et l'analyse des prix |
| Configuration requise pour l'extension | Version de PHP, extensions PHP (mbstring, JSON, OpenSSL, cURL, GD/Imagick, ZipArchive), version de WordPress |
| Environnement | Limite de mémoire PHP et temps d'exécution maximal avec des badges d'état à code couleur ; possibilité d'écriture dans le répertoire des téléversements ; espace disque |
Les badges d'état utilisent une convention de feux tricolores :
- Vert (ok) — dans la plage recommandée
- Orange (avertissement) — acceptable mais une attention peut être requise
- Rouge (mauvais) — en dehors de la plage recommandée ; susceptible de causer des problèmes
Exportation des diagnostics
L'onglet System & Help comprend un bouton Télécharger les diagnostics qui exporte un fichier ZIP (ou JSON si ZipArchive n'est pas disponible) contenant des informations système utiles pour les demandes de support. L'exportation ne contient pas d'identifiants ni de données privées.
Référence de configuration
| Option | Par défaut | Objectif |
|---|---|---|
| Verbose logging | Activé (1) | Enregistre une ligne pour chaque véhicule et chaque action d'image pendant l'importation |
| Chemin du fichier de log | {uploads}/as24ci-logs/adp-car-market-hub.log | Fixe ; basé sur le répertoire des téléversements de WordPress |
| Taille max du fichier de log avant rotation | 10 Mo | Codé en dur dans la classe Logger |
| Rétention des archives de log | 7 jours | Codé en dur dans la classe Logger |
| Lignes par défaut du Lecteur de journaux | 500 | Ajustable dans l'interface utilisateur (100–2 000) |
Notes opérationnelles
- Si le répertoire des téléversements n'est pas accessible en écriture, le fichier de log ne peut pas être créé et toutes les écritures de journal sont ignorées silencieusement. L'onglet System & Help affichera un avertissement concernant l'état du répertoire des téléversements.
- La rotation des journaux est déclenchée par les écritures de journal, et non par une tâche planifiée distincte. Si aucune journalisation ne se produit (par exemple, si le site est inactif), la rotation ne s'exécutera pas avant la prochaine écriture de journal.
- Le journal n'enregistre pas les vues de pages du frontend ni les événements d'analyse. Ceux-ci sont stockés dans la table de base de données
{prefix}as24ci_analytics. Consultez l'onglet Analytics pour ces données. - Sur les installations multisites WordPress, chaque site du réseau possède son propre répertoire de téléversements et donc son propre fichier de log distinct.
Dépannage
| Symptôme | Cause probable | Vérification |
|---|---|---|
| Message "Fichier de log non trouvé" dans l'onglet Logs | Répertoire des journaux non accessible en écriture, ou aucun import n'a encore été exécuté | Vérifiez les autorisations du répertoire des téléversements dans l'onglet System & Help ; déclenchez une importation manuelle |
| Message "Impossible de vider le fichier de log" | Fichier de log non accessible en écriture par le serveur web | Vérifiez les autorisations du système de fichiers sur le répertoire as24ci-logs/ |
| L'onglet Logs n'affiche aucune erreur récente mais les importations échouent | Journalisation détaillée désactivée, ou les erreurs n'atteignent pas le système de journalisation | Activez la journalisation détaillée ; vérifiez le journal des erreurs PHP pour les erreurs fatales |
| Le fichier de log devient très volumineux | Journalisation détaillée activée sur un grand catalogue | Désactivez la journalisation détaillée dans les réglages de l'extension |
Protection .htaccess ne fonctionne pas sur nginx | .htaccess est réservé à Apache | Ajoutez des règles nginx équivalentes pour bloquer l'accès direct au répertoire des journaux |
| Les fichiers de log archivés s'accumulent au-delà de 7 jours | La rotation des journaux ne s'exécute pas (le site est inactif) | Déclenchez une importation manuelle pour exécuter une vérification de rotation |