CB-11131 Fix TypeError: message.toUpperCase is not a function in CordovaLogger
authordaserge <v-seshak@microsoft.com>
Thu, 21 Apr 2016 12:50:19 +0000 (15:50 +0300)
committerdaserge <v-seshak@microsoft.com>
Tue, 26 Apr 2016 17:00:31 +0000 (20:00 +0300)
src/CordovaLogger.js

index 0a4a49c..dc49a4b 100644 (file)
@@ -89,7 +89,7 @@ CordovaLogger.prototype.log = function (logLevel, message) {
     var isVerbose = this.logLevel === 'verbose';\r
     var cursor = this.stdoutCursor;\r
 \r
-    if(message instanceof Error || logLevel === CordovaLogger.ERROR) {\r
+    if (message instanceof Error || logLevel === CordovaLogger.ERROR) {\r
         message = formatError(message, isVerbose);\r
         cursor = this.stderrCursor;\r
     }\r
@@ -196,10 +196,10 @@ CordovaLogger.prototype.subscribe = function (eventEmitter) {
 function formatError(error, isVerbose) {\r
     var message = '';\r
 \r
-    if(error instanceof CordovaError) {\r
+    if (error instanceof CordovaError) {\r
         message = error.toString(isVerbose);\r
-    } else if(error instanceof Error) {\r
-        if(isVerbose) {\r
+    } else if (error instanceof Error) {\r
+        if (isVerbose) {\r
             message = error.stack;\r
         } else {\r
             message = error.message;\r
@@ -209,7 +209,7 @@ function formatError(error, isVerbose) {
         message = error;\r
     }\r
 \r
-    if(message.toUpperCase().indexOf('ERROR:') !== 0) {\r
+    if (typeof message === 'string' && message.toUpperCase().indexOf('ERROR:') !== 0) {\r
         // Needed for backward compatibility with external tools\r
         message = 'Error: ' + message;\r
     }\r