Sentry-javascript: В чем дело с wrapConsoleMethod ()?

Созданный на 17 мая 2016  ·  15Комментарии  ·  Источник: getsentry/sentry-javascript

Недавно я заметил, что raven теперь включает в себя все методы консоли, но я не вижу документации, объясняющей, почему? или как это могло быть полезно? Кто-нибудь сталкивался с этим и мог бы указать мне на некоторую документацию по его использованию?

проблема, с которой я сталкиваюсь, заключается в том, что я больше не могу выполнять простую отладку с помощью console.log () .. источник становится raven.js, и я больше не могу отслеживать, откуда в моем коде он исходит?

Первоначально размещено в репозитории документации, затем закрыто

Самый полезный комментарий

Начиная с версии 3.5.0, вы можете отключить автоматический сбор хлебных крошек консоли:

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

Или вы можете полностью отключить автоматический сбор хлебных крошек:

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

Подробнее об этом в документации .

Все 15 Комментарий

@grapho - консольные операторы собираются и передаются в виде хлебных крошек .

Я вижу, как это может раздражать, что в результате инструментария console.log URL-адрес в devtools больше не приведет вас к исходному оператору журнала в вашем источнике. Мы могли бы сделать инструментирование console.log необязательным. Или, в качестве альтернативы, введите Raven.log в качестве альтернативного API для записи ваших собственных хлебных крошек.

@benvinegar Я обещаю, что меня не раздражает ... если есть способ использовать хлебные крошки или эквивалентный API в настройках разработки ... место console.log, я хотел бы знать, как?

я мог бы привыкнуть к размещению точек останова и статов отладчика вместо этого ... если это предпочтительная работа?

Думаю, я редко использовал ссылку на консольный оператор и даже не заметил, что она исчезла :) Лично я большую часть времени использую отладчик Chrome.

если есть способ, я могу использовать хлебные крошки или эквивалентный API в настройках разработки

Вы можете использовать Raven.captureBreadcrumb сегодня, если хотите просто установить хлебную крошку. Однако API еще не совсем доработан. Это все еще новая функция, и мы все еще пытаемся проработать некоторые моменты.

Если это не серьезный блокировщик, я хотел бы немного оставить эту проблему открытой и посмотреть, получим ли мы еще какие-либо отзывы.

Я думаю, что это серьезная проблема, тем более, что она нигде не задокументирована и не может быть отключена.
Могут быть тонны console.log, которые мы не хотим отправлять в Sentry.

Разработчик должен выбрать, что и когда отправлять.

Еще одна вещь, о которой я не упомянул: некоторые JS-фреймворки, такие как Ember.js, имеют тенденцию исключать методы console () из производственных сборок. Просто пища для размышления.

Приведенный выше комментарий кажется неверным, извините.

@benvinegar Я ценю, что вы готовы оставить билет открытым, возможно, стоит изучить еще кое-что :)

@benvinegar, эта проблема не является серьезным

Вот мое текущее решение. Я понял, что могу просто _не_ инициализировать клиент raven.js в режиме разработки ... отчеты raven / sentry в любом случае действительно полезны для большинства людей (я полагаю) в производственных приложениях.

Что, как говорится. возможно, еще есть смысл ввести, возможно, флаг developmentMode config, который позволит сообщениям и ошибкам проходить в консоль разработчика (также как отключение некоторой "глобальной" обработки) ... при сохранении ворона. js клиент работает в фоновом режиме, поэтому мы все еще можем вручную отправлять отчеты об ошибках, явно запуская apis raven, если захотим.

Дай мне знать, что ты думаешь об этом. В противном случае я бы не стал особо беспокоиться об этом, так как эта проблема в основном была вызвана моим отсутствием опыта работы с raven и тем, как и когда его использовать.

Могут быть тонны console.log, которые мы не хотим отправлять в Sentry.

Настоящий разговор - вы действительно хотите это отключить? Я не пытаюсь показаться здесь пассивно-агрессивным, я просто хочу знать, серьезная ли это проблема прямо сейчас, и вы хотите ее отключить.

Я думаю, что это серьезная проблема, тем более, что это нигде не задокументировано и

Это задокументировано в журнале изменений Raven.js. Мы также опубликовали сообщение в блоге, объявляющее о хлебных крошках, в котором упоминается, что операторы console.log теперь регистрируются, и этот пост был транслирован в приложении для всех размещенных пользователей Sentry. Мне жаль, что нам не удалось связаться с вами, но я думаю, что были приложены искренние усилия, чтобы сообщить об этом.

Также обратите внимание, что именно поэтому Raven.js 3.0.x был ударом основной версии, потому что он внес потенциально критические изменения. Я надеюсь, что люди просматривают журнал изменений перед обновлением до основной версии.

... не может быть отключен.

Тем временем вы все еще можете запустить Raven 2.x.

@benvinegar Я ценю, что вы готовы оставить билет открытым, возможно, стоит изучить еще кое-что :)

Я хочу собрать больше отзывов, прежде чем спешить с решением. Тем более, что 3.0.x была запущена уже пару недель, и большинство полученных нами отзывов были положительными.

@benvinegar, эта проблема не является серьезным

Да, у меня было ощущение, что тебе любопытно больше всего на свете.

Что, как говорится. все еще может быть некоторая польза от введения, возможно, флага конфигурации developmentMode, который позволит сообщениям и ошибкам передаваться на консоль разработчика (также как отключение некоторой "глобальной" обработки) .. при сохранении молчания клиента raven.js в background, чтобы мы могли вручную отправлять отчеты об ошибках, явно запуская apis raven, если захотим.

Да, проблема в том, что есть аргумент в пользу того, что операторы консоли также используются для отладки. Я бы предпочел просто сделать его настраиваемым. И мы будем. Я просто хочу сначала получить больше отзывов / измерить влияние.

Anwyays, я действительно ценю оба ваших комментария.

@benvinegar : 👍 для параметра конфигурации - в идеале позволяет отфильтровывать нежелательные записи вручную (или, скорее, функцией)

Это также постоянно появляется на трекере поддержки. Думаю, нам стоит добавить способ его отключения.

Сделайте функцию хлебных крошек необязательной, обертывание методов консоли рискованно и может конфликтовать со многими другими библиотеками и сторонними скриптами, которые также пытаются это сделать.

Начиная с версии 3.5.0, вы можете отключить автоматический сбор хлебных крошек консоли:

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

Или вы можете полностью отключить автоматический сбор хлебных крошек:

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

Подробнее об этом в документации .

autoBreadcrumbs отсутствует в файле объявления машинописного текста. Это намеренно?

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

В последнее время мы боролись с объявлениями TypeScript. Представления приветствуются.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги