Как включить теги в новый API @ sentry / node? - PullRequest
0 голосов
/ 09 октября 2018

До выпуска @ sentry / node я использовал модуль raven.Включить теги во все мои ошибки было так же просто, как включить свойство тегов в объект параметров при настройке Raven.

Raven.config(DSN, {
  tags: {...}
})

Как включить теги при использовании нового API?Пока что я пробовал:

Sentry.init({
    dsn: DSN,
    tags: {
        process_name: 'webserver',
    },
})

и

Sentry.configureScope(scope => {
    scope.setTag('process_name', 'webserver')
})

, но ни одна попытка не работает.

Ответы [ 2 ]

0 голосов
/ 21 мая 2019

В соответствии с документами

Вы можете использовать Sentry.configureScope для настройки области (включая тег) экземпляра Sentry.

Sentry.configureScope((scope) => {
  scope.setTag("my-tag", "my value");
  scope.setUser({
    id: 42,
    email: "john.doe@example.com"
  });
});

Или вы можете использоватьSentry.withScope, если вы хотите отправить данные только с одним конкретным событием.

Sentry.withScope(scope => {
  scope.setTag("my-tag", "my value");
  scope.setLevel('warning');
  // will be tagged with my-tag="my value"
  Sentry.captureException(new Error('my error'));
});

// will not be tagged with my-tag
Sentry.captureException(new Error('my other error'));
0 голосов
/ 09 октября 2018

Вы должны использовать Sentry.configureScope, но, как указано в sdk документах Note that these functions will not perform any action before you have called init().

Это должно работать, в противном случае вам придется связаться с часовым:

const Sentry = require('@sentry/node');

Sentry.init({
  dsn: '__DSN__',
  // ...
});

Sentry.configureScope(scope => {
  scope.setExtra('battery', 0.7);
  scope.setTag('user_mode', 'admin');
  scope.setUser({ id: '4711' });
  // scope.clear();
});
...