JS Error Logger

Description

L’extension récupère la plupart des erreurs JS, les journalise, puis les affiche dans un widget du tableau de bord

Voici certaines de ses fonctionnalités :

  • À l’exception des réglages de l’extension, aucun stockage en base de données ne se passe. Le journal est écrit dans un fichier « .log ».
  • Afficher les dernières erreurs JS dans un widget du tableau de bord.
  • Actualiser les erreurs depuis le widget du tableau de bord.
  • Consulter le journal d’erreurs complet sur une page à part.
  • Ignorer les erreurs si l’agent utilisateur contient une chaîne en particulier.
  • Ignorer les erreurs si l’erreur contient une chaîne en particulier.
  • Ignorer les erreurs si l’URL du script contient une chaîne en particulier.
  • Voir quelle page et quel script ont déclenché les erreurs.
  • Choisir le nombre maximal d’erreurs à journaliser par chargement de page.
  • Exclure la journalisation d’erreurs sur des types de publication.
  • Choisir la façon d’effectuer les appels ajax.

Filtres et points d’accroche pour développeurs/développeuses

L’extension nettoie le journal toutes les 24 heures, pour ne garder que les 100 dernières entrées.
Vous pouvez utiliser le filtre WP « jserrlog_max_log_entries » pour garder plus ou moins d’entrées, en retournant un entier : add_filter('jserrlog_max_log_entries',function(){return 200;})

Modification des données des erreurs :
Vous pouvez utiliser le filtre WP « jserrlog_pre_insert_error » afin de modifier les données des erreurs avant qu’elles soient insérees dans le fichier journal : add_filter('jserrlog_pre_insert_error',function($error_data){return $error_data;})

Déclenchement d’intégrations :
Vous pouvez utiliser le point d’accroche WP « jserrlog_after_log » afin de déclencher une action (notification Slack, etc.) après qu’une erreur ait été journalisée : add_action('jserrlog_after_log',function($error_data){//do something})

Sauvegarde des vieilles erreurs :
Vous pouvez utiliser le point d’accroche WP « jserrlog_before_log_maintenance » afin de déclencher une action (archivage des erreurs, etc.) avant que les vieilles erreurs se fassent supprimer : add_action('jserrlog_before_log_maintenance',function($errors){//do something})

Durcissement des requêtes :
Vous pouvez utiliser le filtre WP « jserrlog_enforce_same_host_origin » afin d’exiger une vérification Origin/Referer provenant du même hôte pour les requêtes de journalisation (par défaut : true) : add_filter('jserrlog_enforce_same_host_origin',function(){return true;})
Vous pouvez utiliser les filtres WP « jserrlog_rate_limit_requests » et « jserrlog_rate_limit_window » pour contrôler la limitation du débit des requêtes (par défaut : 60 requêtes toutes les 60 secondes) : add_filter('jserrlog_rate_limit_requests',function(){return 120;}); add_filter('jserrlog_rate_limit_window',function(){return 60;});
Vous pouvez utiliser les filtres WP « jserrlog_max_payload_bytes », « jserrlog_max_batch_errors » et « jserrlog_max_error_field_length » afin de limiter la taille des données reçues (par défaut : 16384 octets, 20 erreurs par lot, 512 caractères par champ) : add_filter('jserrlog_max_payload_bytes',function(){return 32768;});
Vous pouvez utiliser le filtre WP « jserrlog_duplicate_window » afin de supprimer temporairement les erreurs dupliquées (par défaut : 60 secondes) : add_filter('jserrlog_duplicate_window',function(){return 30;});

Multisite

L’extension fonction avec multisite. Il y a un journal d’erreurs par site.

Captures d’écrans

  • Le widget du tableau de bord du journaliseur d’erreurs JS
  • Le journal d’erreurs complet accessible depuis les réglages de l’extension
  • Une partie des réglages

Installation

  1. Rendez-vous sur la page « Extensions » depuis votre tableau de bord et sélectionnez « Ajouter »
  2. Recherchez « JS Error Logger »
  3. Cliquez sur « Installer »

Avis

14 janvier 2025 1 réponse
My users are having an annoying issue on the frontend of my website that I cannot reproduce. It’s causing chaos, this plugin seems to be exactly what I need to get to the bottom of this!
Lire l’avis

Contributeurs/contributrices & développeurs/développeuses

« JS Error Logger » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.

Contributeurs

“JS Error Logger” a été traduit dans 1 locale. Remerciez l’équipe de traduction pour ses contributions.

Traduisez « JS Error Logger » dans votre langue.

Le développement vous intéresse ?

Parcourir le code, consulter le SVN dépôt, ou s’inscrire au journal de développement par RSS.

Journal des modifications

1.5

  • Ajout d’un indicateur de nouvelles erreurs dans le widget du tableau de bord, mémorisé via cookie pour signaler les erreurs n’ayant pas encore été consultées
  • Amélioration de l’affichage des erreurs dans le widget du tableau de bord, avec des libellés affichant le type d’erreur au-dessus du message
  • Ajustement de l’espacement et des styles du widget du tableau de bord pour une mise en page plus propre du tableau

1.4.3

  • Correctif : un appel à WP_FileSystem n’avait pas la bonne portée
  • Correctif : Cliquer sur le bouton « Actualiser le journal » du widget du tableau de bord conduisait à une nouvelle instantiation des fenêtres surgissantes jQuery

1.4

  • Testé jusqu‘à WordPress 7.0
  • Priorité est donnée à navigator.sendBeacon pour les envois ajax différés
  • Ajout de contrôles de durcissement des requêtes (vérification d’origine du même hôte, limitation du débit des requêtes, limites de taille des données reçues et suppression des doublons) via des filtres WP
  • Correction du chemin du répertoire du journal afin d’utiliser le répertoire de base des téléversements pour un stockage stable d’un mois à l’autre
  • Ajout d’un mécanisme de migration des anciens journaux depuis l’ancien répertoire basé sur la date
  • Amélioration de l’écriture du journal grâce à une stratégie d’ajout avec verrouillage et mécanisme de secours afin de mitiger les risques de conditions de concurrence
  • Retrait de la maintenance du journal lors du rendu de la page des réglages ; la maintenance s’exécute désormais uniquement via son point d’accroche planifié
  • Suppression du point d’accroche de nettoyage planifié lors de la désactivation de l’extension au lieu de juste lors de sa désinstallation
  • À partir de WordPress 7.0, la couleur d’accent par défault change de #2271b1 à #3858e9
  • Améliorations de l’accessibilité

1.3.1

  • Testé jusqu‘à WordPress 6.9
  • Certaines variables de modèles ont été renommées afin de s’assurer qu’elles ne puissent pas être confondues avec des variables globales
  • Certaines fonctions natives de PHP telles que mk_dir, rm_dir, fopen, etc… ont été remplacées pour utiliser WP_Filesystem

1.3

  • Arrêt de la prise en charge de PHP<7.4
  • Des liens vers nos autres extensions ont été rajoutés dans la section des réglages
  • Ajout d’une notification d’administration
  • Ajout de 2 points d’accroche et de 1 filtre pour développeurs/développeuses

1.2

  • Améliorations de l’accessibilité
  • Correctif : l’extension obligatoire est maintenant également bien supprimée lorsque l’extension est désactivée, et non simplement désinstallée
  • 3 réglages supplémentaires qui n’étaient précédemment accessibles que via filtres WP ont été ajoutés à l’interface d’utilisation

1.1.11

  • Correctif : correct désenregistrement du script chargé en avance dans l’interface publique lorsque la journalisation des erreurs js n’est pas activée

1.1.10

  • Renforcement de la sécurité
  • Documentation des variables pour les traducteurs/traductrices
  • Correctif mineur : vérification que le répertoire des extensions indispensables est bien accessible en écriture avant d’y créer le chargeur anticipé afin d’éviter des avertissements PHP

1.1.9

  • Correctif : correct désenregistrement du script chargé en avance si la journalisation de l’interface d’administration n’est pas activée

1.1.7

  • Amélioration : meilleur mécanisme de mise à jour pour s’assurer que l’extension indispensable soit aussi mise à jour

1.1.6

  • Nouveau : il est maintenant également possible de journaliser les erreurs js de l’interface d’administration

1.1.5

  • Correctif : un attribut HTML était échappé avec wp_kses au lieu de esc_attr, ce qui pouvait conduire à des problèmes d’affichage si le texte de l’attribut contenait des guillemets

1.1.4

  • Correctif : lorsque le widget du tableau de bord était à l’origine vide, puis actualisé et qu’une erreur apparaissait, le bouton « Voir » n’était pas cliquable

1.1.3

  • Correctif : un changement dans l’ID du widget du tableau de bord empêchait le bouton « Actualiser le journal » de fonctionner correctement

1.1.2

  • Correctif : suppression du type de retour « string » dans rewrite_script_src afin d’éviter des problèmes potentiels

1.1.1

  • Correctif : problème avec l’encodage des caractères spéciaux
  • Correctif : barre oblique finale manquante lors de la création du répertoire « js-error-logger-log »
  • Amélioration : l’extension devrait détecter les extensions de cache les plus populaires, et rappeler aux utilisateurs/utilisatrices de vider leur cache après le changement de certains réglages

1.0

  • Version initiale