mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
escape console messages
This commit is contained in:
@@ -252,7 +252,7 @@ export class Console implements definition.Console {
|
||||
let formatedMessage = this.formatParams.apply(this, arguments);
|
||||
this.error(formatedMessage, trace.messageType.error);
|
||||
if (global.__consoleMessage) {
|
||||
global.__consoleMessage(formatedMessage, "error");
|
||||
global.__consoleMessage(this.escapeConsoleMessage(formatedMessage), "error");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -265,7 +265,7 @@ export class Console implements definition.Console {
|
||||
let formatedMessage = this.formatParams.apply(this, arguments);
|
||||
this.logMessage(formatedMessage, trace.messageType.warn);
|
||||
if (global.__consoleMessage) {
|
||||
global.__consoleMessage(formatedMessage, "warning");
|
||||
global.__consoleMessage(this.escapeConsoleMessage(formatedMessage), "warning");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -273,7 +273,7 @@ export class Console implements definition.Console {
|
||||
let formatedMessage = this.formatParams.apply(this, arguments);
|
||||
this.logMessage(formatedMessage, trace.messageType.error);
|
||||
if (global.__consoleMessage) {
|
||||
global.__consoleMessage(formatedMessage, "error")
|
||||
global.__consoleMessage(this.escapeConsoleMessage(formatedMessage), "error")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -281,9 +281,27 @@ export class Console implements definition.Console {
|
||||
let formatedMessage = this.formatParams.apply(this, arguments);
|
||||
this.logMessage(formatedMessage, trace.messageType.log);
|
||||
if (global.__consoleMessage) {
|
||||
global.__consoleMessage(formatedMessage, "log")
|
||||
global.__consoleMessage(this.escapeConsoleMessage(formatedMessage), "log")
|
||||
}
|
||||
}
|
||||
|
||||
private escapeConsoleMessage(str: string): string
|
||||
{
|
||||
if (typeof(str)!="string") {
|
||||
return str;
|
||||
}
|
||||
|
||||
return str
|
||||
.replace(/[\\]/g, '\\\\')
|
||||
.replace(/[\/]/g, '\\/')
|
||||
.replace(/[\b]/g, '\\b')
|
||||
.replace(/[\f]/g, '\\f')
|
||||
.replace(/[\n]/g, '\\n')
|
||||
.replace(/[\r]/g, '\\r')
|
||||
.replace(/[\t]/g, '\\t')
|
||||
.replace(/[\"]/g, '\\"')
|
||||
.replace(/\\'/g, "\\'");
|
||||
}
|
||||
|
||||
private logMessage(message: string, messageType: number): void {
|
||||
var arrayToLog = [];
|
||||
|
||||
Reference in New Issue
Block a user