Convert objects and such to usable strings in rageshake

Fixes https://github.com/vector-im/riot-web/issues/7844
This commit is contained in:
Travis Ralston 2019-03-01 09:58:54 -07:00
parent 3ce2c3a76d
commit e1f26059a7

View file

@ -71,6 +71,18 @@ class ConsoleLogger {
log(level, ...args) { log(level, ...args) {
// We don't know what locale the user may be running so use ISO strings // We don't know what locale the user may be running so use ISO strings
const ts = new Date().toISOString(); const ts = new Date().toISOString();
// Convert objects and errors to helpful things
args = args.map((arg) => {
if (arg instanceof Error) {
return arg.message + (arg.stack ? `\n${arg.stack}` : '');
} else if (typeof(arg) === 'object') {
return JSON.stringify(arg);
} else {
return arg;
}
});
// Some browsers support string formatting which we're not doing here // Some browsers support string formatting which we're not doing here
// so the lines are a little more ugly but easy to implement / quick to // so the lines are a little more ugly but easy to implement / quick to
// run. // run.