Sentry là gì

     

Sentry.io là gì? vì sao lại phải dùng cho tới Sentry

Sentry.io là 1 trong ứng dụng giúp chúng ta tracking lại hầu như error xảy ra bên phía trong ứng dụng trong quá trình người tiêu dùng sử dụng, gửi thông báo lỗi trải qua email, SMS.Bạn đang xem: Sentry là gì

Trên trang chủ Sentry.io, nói rằng:

When your code breaks.Sentry is here to help you fix it.

Bạn đang xem: Sentry là gì

Tạo một Organization mới trên Sentry.io

Đầu tiên các bạn vào trên đây để chế tạo 1 Organization cho các dự án của mình,

*

sau khi sinh sản Organization xong, trang sẽ gửi tới giao diện cho mình tạo Project của mình. Có nhiều ngôn ngữ được Sentry hỗ trợ, việc của người sử dụng là chỉ cần chọn 1 cái, điền tên và Sentry đang đưa chúng ta tới hình ảnh hướng dẫn integration với cung cấp cho chính mình 1 DSN key nhằm bạn thực hiện ở trong ứng dụng của mình.

Xem thêm: Nghĩa Của Từ Duyên Hải Là Gì


*

Thêm Sentry vào dự án công trình Laravel để đánh dấu lỗi

Laravel được tư vấn bởi Sentry trải qua package sentry-laravel, để áp dụng Sentry trong dự án bạn chỉ việc cài nói trải qua Composer:

$ composer require sentry/sentry-laravel:1.1.1Nếu bạn đang dùng Laravel 5.5 trở lên trên thì bỏ qua mất bước này:

"providers" => array( // ... SentryLaravelServiceProvider::class,)"aliases" => array( // ... "Sentry" => SentryLaravelFacade::class,)Thêm Sentry vào App/Exceptions/Handler.php nhằm ứng dụng của bạn report cho tới Sentry.io mỗi một khi có Exception xảy ra:

public function report(Exception $exception) if (app()->bound("sentry") && $this->shouldReport($exception)) app("sentry")->captureException($exception); parent::report($exception);Tạo tệp tin config của Sentry bởi command

$ php artisan vendor:publish --provider="SentryLaravelServiceProvider"return array( "dsn" => env("SENTRY_LARAVEL_DSN"), // capture release as git sha // "release" => trim(exec("git log --pretty="%h" -n1 HEAD")), // Capture bindings on SQL queries "breadcrumbs.sql_bindings" => true, // Capture mặc định user context "user_context" => true,);Cuối cùng, các bạn cần bổ sung cập nhật vào .env DSN key của dự án công trình mà các bạn đã tạo thành ở trên:

SENTRY_LARAVEL_DSN=https:///xxxxxĐể soát sổ xem Sentry đã nhận được lỗi trong ứng dụng Laravel chưa, chúng ta có thể test bằng bài toán vào chế tạo ra 1 route throw ra 1 exception:

Route::get("/debug-sentry", function () throw new Exception("Laravel Sentry error!"););và trên đây Sentry sẽ capture lại Exception vừa rồi:

*

*

Thêm Sentry vào dự án công trình React

Để sử dụng Sentry trong React, bạn sử dụng package sentry/browserTrước kia, mỗi một khi xảy ra một Javascript error trong 1 phần của UI, nó sẽ gây ra crash toàn bộ app. Để xử lý vấn đề này cho React user, từ phiên bạn dạng 16 trở lên, React ra mắt một concept bắt đầu Error Boundary. Error boundaries là một React component đã catch Javascript errors xảy ra bên phía trong các child component, log lại error và hiển thị lỗi ở chỗ UI kia thay vày crash toàn cục app.

Xem thêm: Từ Điển Anh Việt " Dubbing Là Gì ? Từ Thường Xuyên Sử Dụng Với Dubbing

Sentry tận dụng tối đa nó nhằm capture những error trên client.

Đầu tiên mình tạo ra 1 instance của Sentry:

import Raven from "raven-js"import config from "config/"const SENTRY_DSN = "https:///xxxxx"Raven.config(SENTRY_DSN, environment: "local").install()export mặc định Ravenimport React, Component from "react"import sentry from "sentry"class ErrorBoundary extends Component state = eventId: null componentDidCatch(error, errorInfo) const eventId = sentry.captureException(error, extra: errorInfo ) this.setState(eventId) render() return this.props.errorStatus ? button onClick=() => sentry.showReportDialog( eventId: this.state.eventId )>Report feedback/button> : this.props.children export default ErrorBoundaryCuối thuộc bạn chỉ việc bọc toàn thể các Component vào app của doanh nghiệp bằng ErrorBoundary nghỉ ngơi trên

import React, Component from "react"import ErrorBoundary from "ErrorBoundary"class app extends Component render() return ( ErrorBoundary> // các component bé /ErrorBoundary> ) export default App