iOS在尝试报告数据时检测NewRelic错误

时间:2015-07-27 21:29:10

标签: ios newrelic nserror

我想在我的应用程序中知道NewRelic尝试发送数据并且由于任何原因失败,例如,当没有互联网连接时它会收到错误

NRMAHarvesterConnection.m:101   -[NRMAHarvesterConnection send:]
Failed to retrieve collector response: Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo=0x7fa044e1a360 {NSUnderlyingError=0x7fa044e26a10 "The Internet connection appears to be offline.", NSErrorFailingURLStringKey=https://mobile-collector.newrelic.com/mobile/v2/data, NSErrorFailingURLKey=https://mobile-collector.newrelic.com/mobile/v2/data, _kCFStreamErrorDomainKey=12, _kCFStreamErrorCodeKey=8, NSLocalizedDescription=The Internet connection appears to be offline.}

NewRelic将此错误输出到控制台,因此必须检测到此类错误。

我想知道这种错误何时发生以及错误是什么,所以我可以记录它

1 个答案:

答案 0 :(得分:0)

不幸的是,在错误代码低于400的情况下,NewRelic不会发送自动错误报告。所以你需要自己处理这个案例,例如:

[NewRelic noticeNetworkFailureForURL:(NSURL *)url
                      httpMethod:(NSString*)httpMethod
                       withTimer:(NRTimer *)timer
                  andFailureCode:(NSInteger)iOSFailureCode];

但是从我看来,你应该跟踪这些依赖客户的事件,因为缺乏互联网连接。 NewRelic使您可以检查端点是否可以正常访问,或返回HTTP错误代码。在跟踪CDN节点的状态时非常有用。换句话说:跟踪返回HTTP错误代码的所有内容,但不要跟踪Cocoa错误代码。