Bläddra i källkod

recreate Error objects from plain objects when logging to sentry

Brian Gough 10 år sedan
förälder
incheckning
17cf288e4c
1 ändrade filer med 6 tillägg och 0 borttagningar
  1. 6 0
      libraries/logger/logging-manager.coffee

+ 6 - 0
libraries/logger/logging-manager.coffee

@@ -33,6 +33,12 @@ module.exports = Logger =
 						query: req.query
 						query: req.query
 						headers: req.headers
 						headers: req.headers
 						ip: req.ip
 						ip: req.ip
+				# recreate error objects that have been converted to a normal object
+				if !(error instanceof Error) and typeof error is "object"
+					newError = new Error(error.message)
+					for own key, value of error
+						newError[key] = value
+					error = newError
 				@raven.captureError(error, {tags: tags, extra: extra})
 				@raven.captureError(error, {tags: tags, extra: extra})
 	err: ()->
 	err: ()->
 		@logger.error.apply(@logger, arguments)
 		@logger.error.apply(@logger, arguments)