Skip to content

Instantly share code, notes, and snippets.

@piotrze
Last active December 19, 2015 16:59
Show Gist options
  • Save piotrze/5987566 to your computer and use it in GitHub Desktop.
Save piotrze/5987566 to your computer and use it in GitHub Desktop.
Track user actions.
#ugly code
window.SpaAppActivity = []
window.SpaAppErrorsCount = 0
if window.RailsEnv != 'development' && window.RailsEnv != 'test'
Ember.onerror = (error) ->
console.log(error.stack)
console.log(error.message)
if window.SpaAppErrorsCount < 2
Airbrake.notify
message: (error.message + '; ' + window.SpaAppActivity.join('; '))
stack: error.stack
window.SpaAppErrorsCount += 1
else
Ember.onerror = (error) ->
console.log(error.stack)
console.log(error.message)
throw(error)
window.onerror = (text) ->
console.log(text)
throw(text)
if window.onerror
window.oldOnerror = window.onerror
window.onerror = (text, file, line) ->
if window.SpaAppErrorsCount < 2
window.oldOnerror(text + '; ' + window.SpaAppActivity.join('; '), file, line)
window.SpaAppErrorsCount += 1
#in controller
window.SpaAppActivity.push("action: #{actionName}, time: #{(new Date()).toTimeString()}")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment