From 5b742121d72b87f781189ce8240923b1f3584841 Mon Sep 17 00:00:00 2001 From: terakilobyte Date: Tue, 16 Jun 2015 09:42:55 -0400 Subject: [PATCH] Add pmx error handler for loggign to keymetrics --- package.json | 1 + server/server.js | 12 ++++-------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 6f0af36b39..97277d8279 100644 --- a/package.json +++ b/package.json @@ -78,6 +78,7 @@ "passport-local": "^1.0.0", "passport-oauth": "^1.0.0", "passport-twitter": "^1.0.3", + "pmx": "^0.3.16", "ramda": "~0.10.0", "request": "~2.53.0", "rx": "^2.5.3", diff --git a/server/server.js b/server/server.js index edd500f9b6..c3257b2c1b 100755 --- a/server/server.js +++ b/server/server.js @@ -1,13 +1,6 @@ require('dotenv').load(); +require('pmx').init(); // handle uncaught exceptions. Forever will restart process on shutdown -process.on('uncaughtException', function (err) { - console.error( - (new Date()).toUTCString() + ' uncaughtException:', - err.message - ); - console.error(err.stack); - process.exit(1); // eslint-disable-line -}); var R = require('ramda'), assign = require('lodash').assign, @@ -28,6 +21,7 @@ var R = require('ramda'), expressValidator = require('express-validator'), forceDomain = require('forcedomain'), lessMiddleware = require('less-middleware'), + pmx = require('pmx'), passportProviders = require('./passport-providers'), /** @@ -248,9 +242,11 @@ R.keys(passportProviders).map(function(strategy) { /** * 500 Error Handler. */ + if (process.env.NODE_ENV === 'development') { app.use(errorHandler({ log: true })); } else { + app.use(pmx.expressErrorHandler()); // error handling in production disabling eslint due to express parity rules // for error handlers app.use(function(err, req, res, next) { // eslint-disable-line