使用Raygun对Node.js应用进行错误处理的方法
2015-06-23 11:24
1071 查看
用我们的 raygun4node 包,能提供一种把您的Node.js错误发送给Raygun的便利办法. 它可以很容仪的使用 npm 安装:
npm install raygun
其能给您提供一个raygun客户端,您可以用它来配置您的API key,并且可以用来手动发送错误消息. 但稍后你可能会说, “我不想手动地把所有的错误都发给Raygun,那样听起来像是有大量的工作要做!” 如果你正用着 express.js ,那么用express的处理器就可以很容易解决这份担忧了.
var raygun = require('raygun'); var raygunClient = new raygun.Client().init({ apiKey: 'your API key' }); app.use(raygunClient.expressHandler);
在其它情况下你可能只是想用这种方式侦听没有被捕获的异常uncaughtException并发送错误消息.
var raygun = require('raygun'); var raygunClient = new raygun.Client().init({ apiKey: 'your API key' }); process.on('uncaughtException', function(err) { raygunClient.send(err); });
如果你打算开始这样做了,那你就必须理解其含义. 但一个时间气泡一直回到事件循环的时候,这个事件将会被发出. 如果你为这个事件添加了侦听器,那么默认的动作就不会再发生了. 默认的动作时打印出调用栈信息并退出进程. 触发这个之后如果继续的话,那么你的node进程将会处在一个没有被定义的状态中. node.js 文档特别提到说你不应该使用这个东西,而它未来可能会被移除掉. 建议的替代方案是使用域 domains. 下面所展示的就是一个小而简单的例子,你可以看到raygun客户端是怎样适配你对域的使用的.
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);
希望这会你更好的理解使用Raygun的Node.js中的错误处理.
持续清理错误!
您可能感兴趣的文章:
相关文章推荐
- IIS 错误 Server Application Error 详细解决方法
- Lua教程(六):编译执行与错误
- 完美解决Persits.Jpeg.1 错误 ''800a0001''
- "在试着设置任务帐户信息时出现错误,指定的错误是:0x80070005:拒绝访问
- Mysql 本地计算机无法启动 mysql 服务 错误 1067:进程意外终止。
- mysql错误处理之ERROR 1665 (HY000)
- 在Ubuntu系统上安装Ghost博客平台的教程
- C#新手常犯的错误汇总
- 浅析Node在构建超媒体API中的作用
- 在Node.js中使用HTTP上传文件的方法
- php自定义错误处理用法实例
- Drupal 添加模块出现莫名其妙的错误的解决方法(往往出现在模块较多时)
- 使用PHP的错误处理
- msxml3.dll 错误 '800c0005'解决方案
- asp提示Server 对象 错误 ASP 0178 : 80070005
- asp页面提示Response 对象 错误 ASP 0156 : 80004005 HTTP 头错误
- ADODB连接access是出现 80004005 错误的解决方法
- ASP网站出现 msxml3.dll 错误 80072ee7 错误的解决方法
- Node调试工具JSHint的安装及配置教程
- 可简单避免的三个JS发布错误的详细介绍