Skip to content

Commit e1ac25d

Browse files
committed
handle nested json exceptions
Signed-off-by: Robin Appelman <robin@icewind.nl>
1 parent 30ddfaa commit e1ac25d

3 files changed

Lines changed: 15 additions & 3 deletions

File tree

js/logreader-main.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/logreader-main.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/ExceptionParser.js

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,17 @@ window.unserialize = unserialize;
66

77
export class ExceptionParser {
88
isException (logMessage) {
9-
return this.isNewStyleException(logMessage) || this.isOldStyleException(logMessage) || this.isBackgroundJobException(logMessage);
9+
return this.isNewStyleException(logMessage) || this.isOldStyleException(logMessage) || this.isBackgroundJobException(logMessage) || this.isNestedJsonException(logMessage);
1010
}
1111

1212
isNewStyleException (logMessage) {
1313
return logMessage.Exception;
1414
}
1515

16+
isNestedJsonException (logMessage) {
17+
return logMessage.substr && logMessage[0] === '{';
18+
}
19+
1620
isOldStyleException (logMessage) {
1721
return logMessage.substr && logMessage.substr(0, 12) === 'Exception: {';
1822
}
@@ -34,6 +38,14 @@ export class ExceptionParser {
3438
console.log(logMessage.substr(10));
3539
console.error(e);
3640
}
41+
} else if (this.isNestedJsonException(logMessage)) {
42+
try {
43+
return this.tryParseJSON(logMessage);
44+
} catch (e) {
45+
console.log('Error while parsing exception:');
46+
console.log(logMessage.substr(10));
47+
console.error(e);
48+
}
3749
} else {
3850
data = this.tryParseJSON(logMessage.substr(logMessage.indexOf('{"Exception":')));
3951
const messageHead = logMessage.substr(0, logMessage.indexOf('{"Exception":'));

0 commit comments

Comments
 (0)