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

Обзор ​

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

Для каждого кадра вашего кода (не node_modules и не внутренностей Node) она читает файл, на который указывает кадр, и отправляет строку кадра плюс до 5 строк с каждой стороны. Стек по-прежнему отправляется и текстом, а ошибки группируются ровно как раньше.

  • Файлы читаются синхронно и только когда поймана ошибка. Каждый файл читается один раз, а потом берётся из небольшого кэша в памяти, так что частая ошибка не ходит на диск снова.
  • Файлы больше 1 МБ пропускаются, строки обрезаются до 500 символов.
  • Строки берутся из файла, на который указывает стек. Если вы запускаете скомпилированный код (dist/*.js), его и увидите. Если у кадра строк нет (файла нет на сервере или он слишком большой), а к проекту подключён репозиторий со ссылками на код, панель подставит их из репозитория в коммите релиза.

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

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

Ничего делать не нужно — init() регистрирует её автоматически. Чтобы выключить:

ts
import { disable, init } from '@buglapse/node'

disable('context-lines')
init({ dsn: '{dsn}' })

Опций нет.