使用自动追踪AngularJSRaygun例外
在处理跨浏览器和设备问题时,接收这些异常信息是非常重要的,因为您的应用程序可以在开发机器上正确可靠地运行,但它是用户浏览器上的另一个场景。
解决的办法是要求自动跟踪服务,并简化了工作的Raygun接收所有例外你角的Web应用程序抛出,但不需要你做任何事情。很快就按照以下步骤来获得Raygun钩到你的应用程序。
安装
首先,下载小raygun4js脚本并将其添加到您的项目中。可以有3种方法:
通过Bower
复制代码代码如下:安装raygun4js凉亭
从Visual Studio NuGet,打开软件包管理器控制台输入:
复制代码代码如下:安装包raygun4js
手动下载-点击这里下载开发版本或压缩版本
配置
接下来,请参阅脚本。如果使用静态HTML,则会将其添加到页面中,或者将其添加到模块加载器中。
最后,下面的代码是建立在你的raygun4js角主逻辑执行:
Raygun.init('your_api_key)将();
您可以创建一个应用程序创建的Raygun API密钥,你可以在你的仪表板看他Raygun -你有30天的免费试用时间来检验。
捕获异常的角度
至少有两种方法可以将未处理的例外为angular.js模块采用装饰或工厂。这两种方式将为你提供一个具体实施的ExceptionHandler美元,我们上面提到的将实施Raygun。
使用装饰
装饰者模式因为它不会覆盖原来的行为,所以行为的任何服务是合适的,以确保在其它所需的性能关注点的分离,这也是日志和异常处理在Angular.js的理想方式。它可以用于提供服务,我们将用来实现我们自己的服务。
美元的异常处理功能:
app.config(功能(提供){)
provide.decorator美元($ ExceptionHandler
返回函数(异常,原因){
Raygun.send(例外);
$委托(异常,原因);
}
} })
});
$委托是异常处理程序的一个实体,我们将调用它来获取输出到控制台的原始行为。
您还可以根据您的需求创建足够多的其他服务:
provide.decorator美元($ ExceptionHandler
返回函数(异常,原因){
log.debug美元('sending为Raygun);
Raygun.send(例外);
$委托(异常,原因);
}
} })
取决于在角逻辑中从错误中获得的是什么类型的原因,要填充的参数。如果异常发生在工厂或服务,你可能得到的参数范围内,你可以使用它作为一个自定义的数据,以代替上述raygun.send称,任何你需要的东西,然后转入Raygun:
Raygun.send(例外,{原因:原因});
使用工厂
一个放在你的应用程序的Raygun异常处理器的快速的方法是使用一个工厂,但这将删除原来的控制台日志,如果你想保留这个功能,你将需要存储的初始值,再打电话。
app.factory($ ExceptionHandler,函数(){(){
返回函数(异常){
Raygun.send(例外);
}
});
手动传动误差
raygun4js也归属你的手动跟踪误差在任何时间的能力。
Raygun.send(新的错误(自定义错误));
还有一些其他的工具可以在供应商上使用,包括独特的用户跟踪、版本跟踪、标签以及所有可以在这里查看的可信信息。
jQuery的Ajax Raygun甚至可以跟踪误差,甚至跟踪AJAX错误在你的角的应用,而无需任何额外的工作给你,这样你会得到全面的照顾的开箱即用的。
你准备用射线枪
如前所述,有一个30天的免费信用卡支付版本,所以你可以看看你的应用程序,如果它真的在为您的用户操作。如果你有任何问题,请把它们放在下面的评论中。