Sentry-javascript: Quel est le problème avec wrapConsoleMethod() ?

Créé le 17 mai 2016  ·  15Commentaires  ·  Source: getsentry/sentry-javascript

J'ai remarqué récemment que Raven regroupe maintenant toutes les méthodes de la console, mais je ne vois aucune documentation décrivant pourquoi. ou comment cela pourrait-il être utile? Quelqu'un a-t-il déjà rencontré cela et pourrait-il m'indiquer de la documentation sur son utilisation?

le problème que je rencontre est que je ne peux plus effectuer de débogage simple avec console.log() .. la source devient raven.js et je ne peux plus suivre d'où dans mon code il émane?

Publié à l'origine sur le référentiel docs, puis fermé

Commentaire le plus utile

Depuis la version 3.5.0, vous pouvez désactiver la collecte automatique des fils d'Ariane de la console :

Raven.config('your dsn', {
  autoBreadcrumbs: {
    console: false
  }
});

Ou vous pouvez désactiver complètement la collecte automatique du fil d'Ariane :

Raven.config('your dsn', { autoBreadcrumbs: false });

Plus à ce sujet dans les docs .

Tous les 15 commentaires

@grapho – les instructions de la console sont collectées et transmises sous forme de fil d'

Je peux voir à quel point il peut être irritant que, à la suite de l'instrumentation de console.log , l'URL dans devtools ne vous amène plus à l'instruction de journal d'origine dans votre source. Nous pourrions rendre l'instrumentation console.log facultative. Ou bien, introduisez Raven.log comme API alternative pour enregistrer vos propres fils d'Ariane.

@benvinegar Je promets que je ne suis pas irrité... s'il y a un moyen d'utiliser le fil d'Ariane ou une API équivalente dans un cadre de développement... place de console.log, j'aimerais savoir comment ?

je pourrais m'habituer à placer des points d'arrêt et des instructions de débogueur à la place.. si c'est le travail préféré?

Je suppose que j'ai rarement utilisé le lien vers la déclaration de la console et que je n'ai même pas remarqué qu'il avait disparu :) Personnellement, j'utilise le débogueur Chrome la plupart du temps.

s'il existe un moyen d'utiliser le fil d'Ariane ou une API équivalente dans un cadre de développement

Vous pouvez utiliser Raven.captureBreadcrumb aujourd'hui si vous souhaitez simplement définir un fil d'Ariane. L'API n'est pas encore vraiment étoffée. Il s'agit encore d'une nouvelle fonctionnalité et nous essayons toujours de travailler sur quelques éléments.

Si ce n'est pas un bloqueur sérieux, j'aimerais garder ce problème ouvert un peu et voir si nous obtenons d'autres commentaires.

Je pense que c'est un problème majeur, surtout que ce n'est documenté nulle part et ne peut pas être désactivé.
Il peut y avoir des tonnes de console.log que nous ne voulons pas envoyer à Sentry.

C'est au développeur de choisir quoi envoyer et quand

Une autre chose que je n'ai pas mentionnée, certains frameworks JS comme Ember.js ont tendance à supprimer les méthodes console() des versions de production. Juste de la nourriture à considérer.

le commentaire ci-dessus semble être incorrect, désolé.

@benvinegar J'apprécie que vous soyez prêt à garder le ticket ouvert, cela pourrait valoir la peine d'enquêter davantage :)

@benvinegar ce problème n'est pas du tout un bloqueur sérieux.

Voici ma solution actuelle. J'ai réalisé que je ne pouvais _pas_ initialiser le client raven.js en mode développement... les rapports raven/sentry ne sont vraiment utiles qu'à la plupart des gens (j'imagine) dans les applications de production de toute façon.

Cela étant dit. il pourrait encore être utile d'introduire peut-être un indicateur de configuration developmentMode , qui permettrait aux messages et aux erreurs de passer par la console de développement (c'est-à-dire en désactivant une partie de la gestion "globale") .. tout en gardant le corbeau. js client silencieux en arrière-plan, nous pouvons donc toujours envoyer manuellement des rapports d'erreur, en déclenchant explicitement l'API corbeau, si nous le souhaitons.

Faites-moi savoir ce que vous en pensez. Sinon, je ne m'inquiéterais pas trop à ce sujet, car ce problème était principalement causé par mon inexpérience avec le corbeau et comment/quand l'utiliser.

Il peut y avoir des tonnes de console.log que nous ne voulons pas envoyer à Sentry.

Vraie conversation - voulez-vous réellement désactiver cela ? Je n'essaie pas de paraître passif agressif ici, je veux juste savoir s'il s'agit d'un problème sérieux en ce moment et si vous souhaitez le désactiver.

Je pense que c'est un problème majeur, surtout que ce n'est documenté nulle part et

Il est documenté dans le changelog Raven.js . Nous avons également publié un article de blog annonçant le fil d'Ariane qui mentionne que les déclarations console.log sont désormais enregistrées, et cet article a été diffusé dans l'application à tous les utilisateurs Sentry hébergés. Je suis désolé que nous n'ayons pas réussi à vous joindre, mais je pense qu'un véritable effort a été fait pour communiquer cela.

Notez également que c'est la raison pour laquelle Raven.js 3.0.x était une modification majeure de la version, car elle introduisait des modifications potentiellement révolutionnaires. J'espère que les gens examinent le journal des modifications avant de passer à une version majeure.

... ne peut pas être désactivé.

En attendant, vous pouvez toujours exécuter Raven 2.x.

@benvinegar J'apprécie que vous soyez prêt à garder le ticket ouvert, cela pourrait valoir la peine d'enquêter davantage :)

Je veux recueillir plus de commentaires avant de me précipiter dans une solution. D'autant plus que la 3.0.x est en ligne depuis quelques semaines et que la plupart des retours que nous avons reçus sont positifs.

@benvinegar ce problème n'est pas du tout un bloqueur sérieux.

Ouais, j'avais l'impression que tu étais curieux plus que tout.

Cela étant dit. il pourrait encore être utile d'introduire peut-être un indicateur de configuration developmentMode, qui permettrait aux messages et aux erreurs de passer par la console de développement (c'est-à-dire la désactivation d'une partie de la gestion "globale") .. tout en gardant le client raven.js silencieux dans le en arrière-plan, nous pourrions donc toujours envoyer manuellement des rapports d'erreur, en déclenchant explicitement l'API corbeau, si nous le souhaitons.

Oui, le problème avec cela est qu'il y a un argument pour vouloir des instructions de console en production pour le débogage aussi. Je préfère simplement le rendre configurable. Et nous allons. Je veux juste avoir plus de retours/mesurer l'impact d'abord.

Anwyays, j'apprécie vraiment vos deux commentaires ici.

@benvinegar : 👍 pour l'option de configuration — permettant idéalement de filtrer les entrées indésirables à la main (ou plutôt par fonction)

Cela revient également sur le suivi du support. Je pense que nous devrions ajouter une méthode pour le désactiver.

Veuillez rendre la fonction de fil d'Ariane facultative, les méthodes de la console d'emballage sont risquées et sujettes à des conflits avec de nombreuses autres bibliothèques et scripts tiers qui essaient également de le faire.

Depuis la version 3.5.0, vous pouvez désactiver la collecte automatique des fils d'Ariane de la console :

Raven.config('your dsn', {
  autoBreadcrumbs: {
    console: false
  }
});

Ou vous pouvez désactiver complètement la collecte automatique du fil d'Ariane :

Raven.config('your dsn', { autoBreadcrumbs: false });

Plus à ce sujet dans les docs .

autoBreadcrumbs n'est pas là dans le fichier de déclaration dactylographié. Est-ce intentionnel ?

https://github.com/getsentry/raven-js/blob/master/typescript/raven.d.ts

Nous avons eu du mal avec les déclarations TypeScript ces derniers temps. Soumissions bienvenues.

Cette page vous a été utile?
0 / 5 - 0 notes