Chuyển từ Sentry sang Belvador
Thay SDK Sentry đang có bằng gói Belvador tương ứng mà không gửi lỗi trùng hai lần.
Trong bài này
Belvador dùng cùng giao thức với Sentry, nên chuyển một ứng dụng sang chủ yếu là đổi gói và DSN. Quy tắc quan trọng nhất: chỉ một SDK được báo lỗi — chạy cả hai thì mọi lỗi về hai lần.
Chọn gói thay thế#
| Đang dùng | Thay bằng | Hướng dẫn |
|---|---|---|
@sentry/browser | @belvador/browser | Trình duyệt |
@sentry/react | @belvador/react | React |
@sentry/tanstackstart-react, hoặc Sentry tự nối trong TanStack Start | @belvador/tanstack-start | TanStack Start |
@sentry/cloudflare | @belvador/cloudflare | Cloudflare Workers |
@sentry/node | giữ nguyên, đổi DSN và thêm hàm lọc | Node.js |
sentry-sdk (Python) | giữ nguyên, đổi DSN và thêm hàm lọc | Python |
| SDK Sentry khác | giữ nguyên và đổi DSN — Belvador chưa kiểm chứng | — |
Các bước cho ứng dụng JavaScript#
Tạo project trong Belvador và sao chép DSN.
Cài gói Belvador, khoá ở phiên bản 0.6.1.
Thay import. Các hàm thường dùng giữ nguyên tên:
// Trướcimport * as Sentry from "@sentry/react";Sentry.captureException(error);// Sauimport { captureException } from "@belvador/react";captureException(error);Thay
Sentry.initbằnginitcủa Belvador (hoặcwithBelvadortrên Workers), theo phần cài đặt trong hướng dẫn. Xoá lời gọiSentry.initcũ —initcủa Belvador không chiếm quyền một client đang chạy.Gỡ mọi gói SDK
@sentry/*khỏipackage.json(giữ@sentry/clinếu CI dùng cho source map). Gói của Belvador đã mang theo engine được khoá phiên bản; không cần cài@sentry/*bên cạnh.Cập nhật CSP: thay địa chỉ nhận lỗi của Sentry bằng
https://ingest.belvador.devtrongconnect-src.Trỏ CI về Belvador cho source map: giữ
sentry-cli, đổiSENTRY_URLvà token — xem Source map.Triển khai và kiểm: chạy phép kiểm kết nối cho từng môi trường và xác nhận tab Kết nối báo Đã xác minh. Lỗi gắn thẻ chạy được với mọi SDK Sentry, nên bạn có thể kiểm trước khi đổi gói. Sau đó xác nhận một lỗi thật chỉ hiện một lần.
Tuỳ chọn thay đổi#
| Tuỳ chọn Sentry | Trong Belvador |
|---|---|
dsn, release, environment, dist, sampleRate, ignoreErrors, beforeSend, beforeBreadcrumb, maxBreadcrumbs, debug | Giữ nguyên ý nghĩa |
allowUrls, denyUrls (trình duyệt) | Giữ nguyên ý nghĩa |
enabled | Dùng disabled: true |
integrations, defaultIntegrations | Không nhận; Belvador tự thiết lập phần cần thiết. Breadcrumb bật bằng instrument |
tracesSampleRate, tracePropagationTargets, replaysSessionSampleRate, profilesSampleRate, enableLogs | Không có — SDK chỉ gửi lỗi. Gửi traces và log bằng OpenTelemetry; nối lỗi giữa các tầng bằng tracePropagation |
sendDefaultPii | Luôn tắt |
tunnel, transport | Không có — event chỉ đi tới DSN của bạn |
maxValueLength | Cố định 8.192 ký tự |
TypeScript sẽ chỉ ra các tuỳ chọn không còn tồn tại.
Hành vi thay đổi#
setUserchỉ giữid. Email, tên đăng nhập và địa chỉ IP bị xoá trước khi gửi.Breadcrumb tự động (console, click, fetch, XHR, điều hướng) tắt cho tới khi bạn bật.
Tệp đính kèm bị bỏ trừ khi đặt
attachments: true.Không có
Sentry.showReportDialogvàshowDialogcủa boundary.Body request, cookie và header xác thực bị SDK xoá, và node xoá thêm một lần.
Giữ SDK Sentry đang có#
SDK Sentry nào cũng gửi được tới DSN Belvador, nên bạn cũng có thể chỉ đổi DSN. Khi đó bạn giữ các mặc định của SDK đó: nó có thể gửi dữ liệu tracing (node bỏ và đếm vào Chưa hỗ trợ), dữ liệu cá nhân nếu bật sendDefaultPii, và breadcrumb tự động. Node vẫn lọc trước khi lưu. Với ứng dụng JavaScript, gói của Belvador là lựa chọn an toàn hơn.
Issue đã có#
Belvador bắt đầu với lịch sử trống: issue và event đang nằm trong Sentry không được nhập sang. Giữ Sentry ở chế độ chỉ đọc một thời gian nếu bạn cần tra cứu.
Bài viết về chủ đề này
Tất cả bài viết- Thay thế Sentry cho ứng dụng do AI xây dựng: kiểm gì trước khi chuyểnChọn công cụ thay Sentry cho app làm bằng Lovable, Cursor hay Claude Code: dữ liệu gửi mặc định, nơi lưu, bằng chứng lỗi đã tới và giá, có thử nghiệm.
- Chuyển SDK Sentry: checklist thử từng giả địnhRời Sentry sang backend tương thích? Checklist từ một lần chạy thật: SDK Node.js gửi những item nào, item nào bị bỏ, và cần kiểm tra gì ở từng bước.
Thấy chỗ sai hoặc thiếu? Gửi cho chúng tôi: hello@belvador.dev