Posted at

AngularJS: GA でexception をtracking する

More than 3 years have passed since last update.


GA 側


Angular 側

app.factory('$exceptionHandler', ['$window', '$log', function($window, $log) {

return function(exception, cause) {
$log.error.apply($log, arguments);
if ( $window.ga) {
$window.ga( 'send', 'exception', {
'exDescription': exception.stack,
'exFatal': true,
'appName': 'Compathy',
'appVersion': '0.3'
});
}
};
}])


  • ちなみに、exception をそのまま渡すと、exception.message のみがtoString() されてしまい、エラー箇所(ファイルや行番号) が抜けてしまうので、あえてexception.stack を指定している


確認



  • まずブラウザから、exception が発生したときに、GA への送信がされていることを確認する


    • Develper Console のNetwork で"collect" でフィルタするとよい




  • 次に、GA のカスタムレポートで、レポートが見えることを確認する


    • リアルタイムでは見れないので、少し待つ必要あり