11
votes

Exporter JavaScript Console Journal de Google Chrome

Y a-t-il un moyen d'exporter des messages connectés à la console JavaScript dans Google Chrome?

Sinon, quelqu'un peut-il suggérer un bon moyen de diagnostiquer les problèmes JavaScript sur la machine d'un client? Je n'ai pas été en mesure de reproduire les problèmes localement, malgré la mise en place d'un environnement identique.


0 commentaires

4 Réponses :


18
votes

Étape 1: Ajouter une tasse de console.log des instructions qui vous aideront à diagnostiquer votre problème

Étape 2: Ajouter une logique à ré-définir la console.log sur le système de votre client afin qu'il enregistre réellement ses arguments à Windows.Log (ou quoi que ce soit) au lieu de les enregistrer réellement à la console. xxx

Étape 3: ajoutez un gestionnaire Onunload qui déclenche une demande Ajax à votre serveur avec le contenu de la fenêtre. Connectez-vous comme l'un de ses paramètres

Étape 4: Profit! ; -)

Un bonus ajouté à ce système est que (une fois que vous avez configuré), vous pouvez utiliser CONSOLE.LOG Indiscriminement, et que vous soyez dans votre environnement de développement ou votre environnement direct, il fera la bonne chose.


7 commentaires

P.s. Tous les navigateurs ne prennent pas en charge Onunload; Si votre client ne le fait pas, vous voudrez probablement déclencher les appels AJAX sur chaque console.log (ou bien utiliser la fenêtre.setInterval sur "Sondage" window.log fréquemment).


Intéressant et difficile .. mais semble compliqué! (En particulier, étape 3) n'est-il pas un moyen plus facile de le faire ..?


C'est vraiment assez simple, mais juste pour essayer de montrer que j'ai ajouté une deuxième réponse.


Je suggérerais également de ne pas appeler console.log du tout et crée plutôt une enveloppe, quelque chose comme fonction vomitdebug (msg) {...} - plus facile à prolonger et le problème où le client a réellement une console. LOG DISPAPPARES.


Doux. Juste la chose que je cherchais.


console.log (1, 2, 3); ne met que 1 dans window.log .


Vous devriez faire console.log (1); console.log (2); console.log (3); . Ou vous devez modifier la fonction journal pour gérer plusieurs arguments.



1
votes

Vous pouvez utiliser ma bibliothèque de journalisation JavaScript, log4javascript . Vous devrez:


0 commentaires

7
votes

Voici une version légèrement plus courte / plus simple de ma réponse précédente. Pour garder les choses faciles, nous ferons simplement un appel Ajax sur chaque journal et garder les choses encore plus faciles que nous utiliserons JQuery pour faire le "levage lourd". (Si vous utilisez une bibliothèque JS autre que jQuery, il devrait avoir une sorte de méthode similaire; sinon, ou si vous n'utilisez pas une bibliothèque JS ... heure de sérieusement considérer jQuery!) Oh, et nous jetons un pseudo-code côté serveur pour démontrer à quel point une partie de l'équation est facile.

Étape 1: Ajouter un tas de console.Log Des énoncés qui aideront à diagnostiquer votre problème

Étape 2: Ajouter une logique à ré-définir la console.log sur le système de votre client afin qu'il envoie le journal à votre serveur s'il n'y a pas de console xxx

étape 3: Créez une page de journalisation sur votre serveur

L'exemple suivant utilise un pseudo-code, car tout le monde a une langue de côté serveur différente: xxx


0 commentaires

1
votes

Il y a un outil open-source qui vous permet de sauvegarder tout console.log sortie dans un fichier sur votre serveur - js logflush (fiche!).

js logflush est une solution de journalisation JavaScript intégrée comprenant:

  • Cross-navigateur UI-Moins de remplacement de la console.log - côté client.
  • Système de stockage de journal - sur le côté serveur.

    Demo


0 commentaires