Перейти к содержимому

Обзор ​

inboundFiltersIntegration отбрасывает ненужные вам исключения ещё до того, как они покинут процесс, так что они не доходят до Buglapse и не расходуют квоту, — ожидаемые сбои вроде клиента, рано закрывшего соединение, или известной шумной ошибки из зависимости.

В Node полезна опция ignoreErrors: исключения, сообщение которых совпадает с любым шаблоном, отбрасываются. Строка совпадает, если сообщение её содержит; RegExp проверяется на сообщении.

Использование ​

ts
import { use } from '@buglapse/node'
import { inboundFiltersIntegration } from '@buglapse/node/integrations'

use(inboundFiltersIntegration({
    ignoreErrors: ['ECONNRESET', /^Request aborted/, 'socket hang up'],
}))

Опции ​

ОпцияТипПо умолчаниюОписание
ignoreErrors(string | RegExp)[]['Script error.']Отбрасывать исключения, сообщение которых совпадает с любым шаблоном
allowUrls(string | RegExp)[][]Если задано, оставлять только исключения, адрес верхнего кадра которых совпадает
denyUrls(string | RegExp)[][]Отбрасывать исключения, адрес верхнего кадра которых совпадает

'Script error.' по умолчанию — браузерное сообщение и на сервере не совпадает никогда; переданный ignoreErrors его заменяет.

allowUrls / denyUrls рассчитаны на браузер и здесь редко полезны. Они видят в стеке только адреса file://, http:// и https://: у ES-модулей кадры file:///app/..., а кадры CommonJS — голые пути (/app/dist/server.js:10:5) и не совпадают никогда. С заданным allowUrls исключение без такого адреса отбрасывается — в приложении на CommonJS это каждое исключение.

Для фильтрации по классу ошибки или чему-то кроме сообщения используйте препроцессор — см. Ошибки → Меньше шума. Выражение фильтра в Настройки → Фильтры проекта тоже может отбрасывать исключения по имени или сообщению на сервере — см. Фильтрация шума.