use safe stringify to prevent circular reference exceptions (#44)
diff --git a/package.json b/package.json
index e98bfce..cbc6a14 100755
--- a/package.json
+++ b/package.json
@@ -14,6 +14,7 @@
"nano": "^6.2.0",
"request": "^2.69.0",
"winston": "^2.1.1",
- "moment": "^2.12.0"
+ "moment": "^2.12.0",
+ "json-stringify-safe": "^5.0.1"
}
}
\ No newline at end of file
diff --git a/provider/Logger.js b/provider/Logger.js
index 08e3523..311fe97 100644
--- a/provider/Logger.js
+++ b/provider/Logger.js
@@ -1,6 +1,7 @@
var _ = require('lodash');
var moment = require('moment');
var winston = require('winston');
+var safeStringify = require('json-stringify-safe');
var emailRegex = /(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/g;
@@ -28,7 +29,7 @@
args.shift();
args.forEach(function(arg, i) {
if (_.isObject(args[i])) {
- args[i] = JSON.stringify(args[i]);
+ args[i] = safeStringify(args[i]);
}
});
return args.join(' ');