使用Raygun對(duì)Node.js應(yīng)用進(jìn)行錯(cuò)誤處理的方法
用我們的 raygun4node 包,能提供一種把您的Node.js錯(cuò)誤發(fā)送給Raygun的便利辦法. 它可以很容儀的使用 npm 安裝:
npm install raygun
其能給您提供一個(gè)raygun客戶(hù)端,您可以用它來(lái)配置您的API key,并且可以用來(lái)手動(dòng)發(fā)送錯(cuò)誤消息. 但稍后你可能會(huì)說(shuō), “我不想手動(dòng)地把所有的錯(cuò)誤都發(fā)給Raygun,那樣聽(tīng)起來(lái)像是有大量的工作要做!” 如果你正用著 express.js ,那么用express的處理器就可以很容易解決這份擔(dān)憂(yōu)了.
var raygun = require('raygun'); var raygunClient = new raygun.Client().init({ apiKey: 'your API key' }); app.use(raygunClient.expressHandler);
在其它情況下你可能只是想用這種方式偵聽(tīng)沒(méi)有被捕獲的異常uncaughtException并發(fā)送錯(cuò)誤消息.
var raygun = require('raygun'); var raygunClient = new raygun.Client().init({ apiKey: 'your API key' }); process.on('uncaughtException', function(err) { raygunClient.send(err); });
如果你打算開(kāi)始這樣做了,那你就必須理解其含義. 但一個(gè)時(shí)間氣泡一直回到事件循環(huán)的時(shí)候,這個(gè)事件將會(huì)被發(fā)出. 如果你為這個(gè)事件添加了偵聽(tīng)器,那么默認(rèn)的動(dòng)作就不會(huì)再發(fā)生了. 默認(rèn)的動(dòng)作時(shí)打印出調(diào)用棧信息并退出進(jìn)程. 觸發(fā)這個(gè)之后如果繼續(xù)的話,那么你的node進(jìn)程將會(huì)處在一個(gè)沒(méi)有被定義的狀態(tài)中. node.js 文檔特別提到說(shuō)你不應(yīng)該使用這個(gè)東西,而它未來(lái)可能會(huì)被移除掉. 建議的替代方案是使用域 domains. 下面所展示的就是一個(gè)小而簡(jiǎn)單的例子,你可以看到raygun客戶(hù)端是怎樣適配你對(duì)域的使用的.
var domain = require('domain'); var raygun = require('raygun'); var raygunClient = new raygun.Client().init({ apiKey: 'your API key' }); var server = require('http').createServer(function (req, res) { var d = domain.create(); d.on('error', function (err) { raygunClient.send(err); // clean up and end }); d.add(req); d.add(res); d.run(function () { // handle the req, res }); }); server.listen(3000);
希望這會(huì)你更好的理解使用Raygun的Node.js中的錯(cuò)誤處理.
持續(xù)清理錯(cuò)誤!
相關(guān)文章
linux 后臺(tái)運(yùn)行node服務(wù)指令方法
今天小編就為大家分享一篇linux 后臺(tái)運(yùn)行node服務(wù)指令方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05node.js實(shí)現(xiàn)學(xué)生檔案管理
這篇文章主要為大家詳細(xì)介紹了node.js實(shí)現(xiàn)學(xué)生檔案管理,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05nodejs簡(jiǎn)單實(shí)現(xiàn)中英文翻譯
這篇文章主要介紹了nodejs簡(jiǎn)單實(shí)現(xiàn)中英文翻譯的方法和示例,雖然還存在著不小的問(wèn)題,但是也算是基本能用了,這里推薦給大家。2015-05-05node.js?express和koa中間件機(jī)制和錯(cuò)誤處理機(jī)制
這篇文章主要介紹了node.js?express和koa中間件機(jī)制和錯(cuò)誤處理機(jī)制,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-07-07