亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

vue項目前端錯誤收集之sentry教程詳解

2019-11-19 11:27:33
字體:
來源:轉載
供稿:網友

sentry簡介

Sentry 是一個開源的錯誤追蹤工具,可以幫助開發人員實時監控和修復系統中的錯誤。其專注于錯誤監控以及提取一切事后處理所需的信息;支持幾乎所有主流開發語言( JS/Java/Python/php )和平臺, 并提供了web來展示輸出錯誤。

sentry官網: https://sentry.io/

sentry安裝

sentry 是一個開源的工具,可以自行搭建。

官方支持兩種安裝和運行 Sentry 服務器的方法, Docker 和 Python 。推薦使用 Docker 。

當然,對于剛開始接觸 sentry 的同學,也可以直接使用官方提供的免費服務,但是有一些限制。

下面先來介紹一下利用官方的免費服務,在前端項目中如何使用 sentry 。

如何在項目中使用sentry

1.首先需要在 sentry 的官網注冊一個賬號。注冊完選擇新建一個項目, sentry 支持多種框架,在其中選擇 vue 創建項目。我創建了一個名為test的項目。

 

 1. 創建項目頁面會自動跳轉到如何配置vue項目頁面。接下來就按照指引在vue代碼里引入 sentry ??梢酝ㄟ^ cdn 或者 npm 引入。我們采用 npm 引入。引入的時候需要給 init 函數傳遞一個 dsn 參數。這個參數唯一指定了我們剛才創建的項目,在創建項目的時候系統會自動生成。如果不傳這個參數, sentry 不會發送錯誤。

// main.jsimport * as Sentry from '@sentry/browser';import * as Integrations from '@sentry/integrations';// 在生產環境中讓sentry報錯process.env.NODE_ENV === "production" && Sentry.init({ dsn: 'https://1111a5bc59b54778b75f4e3a92f2e462@sentry.io/1447145', integrations: [ new Integrations.Vue({  Vue,  attachProps: true, }), ],});

在項目跟目錄下增加.sentryclirc文件,其中的token可以在左上角頭像里的api keys里面獲取。

[auth]token="your token"[defaults]url = https://sentry.ioorg = "your org"project = test

然后我們在代碼里制造一個錯誤,就可以讓 sentry 捕獲了。本地如何模擬線上環境訪問dist下的文件呢?需要裝一個 http-server ,在dist文件夾下啟動一個http服務就可以了。

npm i http-server cd disthttp-server -p 8888

注意:sentry捕獲到的錯誤不會在打印在控制臺中。

在network中可以看到, sentry 發送了一個錯誤請求,請求參數如下:

 

接下來我們就可以在后臺看到剛才上傳的錯誤信息,同時 sentry 也會給你的郵箱發送一封錯誤郵件。

錯誤信息查看

在后臺找到我們的test項目,點擊進去就能看到多了一條錯誤信息。

 

點擊信息可以進入信息詳情進行查看。

 

但是這個錯誤信息是壓縮后的,不能定位到代碼的實際位置。使用意義不大,因此需要上傳 source-map 。

上傳source-map

上傳的方式有多種。可以通過 sentry-cli 通過命令行的方式來上傳 source-map ,但是需要手動上傳。也可以采用 webpack-plugin 這個插件,可以在 build 的同時自動上傳 source-map 。本文采用自動上傳策略。

項目配置:

// webpack.prod.confconst SentryCliPlugin = require("@sentry/webpack-plugin");plugins:[ new SentryCliPlugin({  include: "./dist",  release: process.env.RELEASE_VERSION,  configFile: "sentry.properties" })]// main.jsSentry.init({ dsn: "https://4ec86726f2ba40338f66837c6b959eed@sentry.io/1447158", integrations: [  new Integrations.Vue({   Vue,   attachProps: true  }),  new Integrations.RewriteFrames() ], release: process.env.RELEASE_VERSION});// prod.env.js"use strict";const release = "test-1";process.env.RELEASE_VERSION = release;module.exports = { NODE_ENV: '"production"', RELEASE_VERSION: `"${release}"`};

需要保證 plugins 和 Sentry.init 兩個配置中的 release 版本號相同,這樣的話 sentry 才能將 source-map 文件一一對應上。

修改完之后我們重新build一下項目,build的過程比較慢:

 

之后我們去后臺可以看見在版本中多了一個 test-1 版本,也就是我們剛剛上傳的版本。

 

點進去可以看見我們剛才上傳的 source-map 文件。

 

這時我們重新觸發一次錯誤,就可以看到具體的出錯位置了。

 

sentry關聯github

在設置->集成里面可以設置 sentry 關聯各種服務,如 github、jira 等。關聯上 github 后,可以直接為該異常創建issue。

 

這樣在該異常的詳情頁就可以創建issue到 sentry 這個倉庫了。

 

創建時可以選擇倉庫,名稱,詳情及指定給誰:

 

打開 github ,在 sentry 這個倉庫下,發現多了一個issue,就是剛才我們創建的。

 

在我們向 github 提交 commit 的時候,如果加上了異常的id,例如這樣:

 

git commit -m 'Fixes TEST-3'

這樣在下次發版 build 的時候, sentry 會自動將該異常的狀態從 unresolved 變成 resolved ,并會給出本次提交的 diff 地址。

 

搭建sentry服務

官方給出的有兩種方法可以自行搭建sentry:

•python
•docker

推薦使用docker。下面來介紹一下通過docker如何搭建sentry。

首先需要下載docker

mac桌面版地址: https://hub.docker.com/editions/community/docker-ce-desktop-mac

其中已經集成了docker命令行、docker-compose等。

然后需要去github拉取 Sentry On-Premise ,這個是官方提供的通過docker安裝sentry的倉庫,里面介紹了如何一步一步搭建sentry。

創建服務步驟:

cd onpremise// 創建本地數據庫docker volume create --name=sentry-data && docker volume create --name=sentry-postgres// 創建環境配置文件cp -n .env.example .env // 構建docker服務docker-compose build// 產生秘鑰,將其作為SENTRY_SECRET_KEY加入到.env文件中// 創建數據庫,用交互式的提示生成管理員賬號docker-compose run --rm web upgrade// 啟動所有服務docker-compose up -d

如果過程一切正常的話,現在訪問localhost:9000就能看到sentry的登錄頁面了,用剛才生成的管理員賬號密碼登錄即可。

 

以后的操作就跟上面介紹的一樣了。

注意事項

1.利用本地搭建的sentry創建項目的時候,發現dsn那一欄是空的,系統并沒有自動生成。需要自己拼接這個dsn。它由以下幾部分組成,分別是協議、公鑰、私鑰、主機、路徑(一般為空)、項目id。
'{PROTOCOL}://{PUBLIC_KEY}:{SECRET_KEY}@{HOST}/{PATH}{PROJECT_ID}'
//類似這樣,把它放在sentry.init中的dsn即可

http://4cf10206ef27409bbb64f68b:a67a0eb5513e43ab883af3f3@localhost:9000/2

總結

以上所述是小編給大家介紹的vue項目前端錯誤收集之sentry教程詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美色欧美亚洲高清在线视频| 日韩在线观看免费av| 欧美日韩国产综合新一区| 国产成人在线一区| 色黄久久久久久| 欧美色道久久88综合亚洲精品| 中文字幕久久亚洲| 91精品综合视频| 中文字幕精品久久| 高清一区二区三区四区五区| 欧美精品福利视频| 青青草原成人在线视频| 欧美精品第一页在线播放| 中文字幕av一区二区| 91久久久久久| 黑人巨大精品欧美一区二区| 久久精品视频免费播放| 欧美日韩国产精品| 亚洲曰本av电影| 日韩视频在线免费| 亚洲成人在线视频播放| 国产极品jizzhd欧美| 91精品国产99| 欧美日本在线视频中文字字幕| 国产精品美乳一区二区免费| 欧美高清视频免费观看| 亚洲国产精品999| 精品久久香蕉国产线看观看亚洲| 久久的精品视频| 亚洲丝袜一区在线| 国产欧美一区二区三区久久人妖| 亚洲免费福利视频| 国产精品福利在线观看网址| 国产一区二区美女视频| 日韩中文视频免费在线观看| 色偷偷av一区二区三区乱| 欧美大片免费看| 国产成人涩涩涩视频在线观看| 欧洲s码亚洲m码精品一区| 亚洲新声在线观看| 欧美xxxwww| 久久亚洲影音av资源网| 亚洲free性xxxx护士白浆| 精品一区二区三区电影| 欧美激情精品久久久久久| 亚洲精品视频网上网址在线观看| 久久91精品国产91久久跳| 精品国产乱码久久久久久虫虫漫画| 精品视频9999| 成人免费福利在线| 国产精品亚发布| 久久91亚洲精品中文字幕奶水| 色妞在线综合亚洲欧美| 久久久久国产精品www| 亚洲电影在线看| 欧美日韩亚洲成人| 国产九九精品视频| 成人性生交大片免费看小说| 亚洲毛片在线免费观看| 亚洲区在线播放| 亚洲人成电影在线观看天堂色| 久久99精品久久久久久青青91| 国产午夜精品美女视频明星a级| 韩剧1988在线观看免费完整版| 国内精品模特av私拍在线观看| 亚洲一区二区三区xxx视频| 国产成人aa精品一区在线播放| 色七七影院综合| 国产婷婷97碰碰久久人人蜜臀| 亚洲小视频在线| 国语自产精品视频在线看一大j8| 成人国产亚洲精品a区天堂华泰| 亚洲欧美国产高清va在线播| 国产精品igao视频| 91亚洲精品在线| 亚洲成人黄色网址| 亚洲国产精品悠悠久久琪琪| 成人有码在线播放| 欧美视频在线免费| 亚洲bt天天射| 国产日韩欧美自拍| 亚洲欧洲一区二区三区久久| 亚洲另类欧美自拍| 欧美中文字幕在线观看| 91老司机精品视频| 欧美电影免费观看电视剧大全| 92福利视频午夜1000合集在线观看| 欧美中文字幕在线播放| 一区二区在线视频| 久久人91精品久久久久久不卡| 亚洲精品mp4| 久久久久久久久久久免费精品| 亚洲深夜福利视频| 欧美激情视频一区二区三区不卡| 国产精品久久久久久网站| 亚洲色图18p| 黑人巨大精品欧美一区二区三区| 中文字幕亚洲色图| 亚洲aⅴ日韩av电影在线观看| 色综合久久88| 欧美激情伊人电影| 97超视频免费观看| 国产999在线| 国产欧美一区二区三区在线看| 中文字幕久久久av一区| 欧美视频中文字幕在线| 欧美色欧美亚洲高清在线视频| 一区二区三区回区在观看免费视频| 亚洲精品www| 8050国产精品久久久久久| 亚洲福利在线播放| 欧美激情综合亚洲一二区| 91免费精品国偷自产在线| 亚洲美女av在线| 精品国产乱码久久久久酒店| 91麻豆桃色免费看| 久久久久久久久电影| 久久国产精品久久精品| 欧美在线视频网| 91精品国产高清自在线| 性金发美女69hd大尺寸| 欧美日韩视频免费播放| 欧美在线一区二区视频| 日韩在线观看精品| 国产97色在线|日韩| 久久久av一区| 性欧美暴力猛交69hd| 亚洲精品在线视频| 91精品免费久久久久久久久| 77777少妇光屁股久久一区| 国产精品美女免费看| 欧美精品日韩www.p站| 超碰日本道色综合久久综合| 日本欧美中文字幕| 国产视频精品免费播放| 欧美日韩国内自拍| 欧美日韩亚洲系列| 欧美乱妇高清无乱码| 日韩av网站在线| 日韩av成人在线观看| 亚洲专区中文字幕| 精品动漫一区二区| 亚洲男人av电影| 国产精品久久久久久婷婷天堂| 中文字幕亚洲欧美日韩高清| 久久影视三级福利片| 久久精品视频导航| 国产亚洲日本欧美韩国| 精品成人久久av| 亚洲香蕉成视频在线观看| 中文字幕亚洲欧美一区二区三区| 国产精品久久久久久久久久久久久| 亚洲精品中文字幕av| 国产一区二区三区在线免费观看| 91国自产精品中文字幕亚洲| 国产精品一区二区三区久久久| 色综合久综合久久综合久鬼88| 亚洲伊人久久大香线蕉av| 国产97在线亚洲| 欧美视频一区二区三区…| 欧美在线xxx| 欧美性jizz18性欧美| 日本欧美国产在线| 2021久久精品国产99国产精品|