ソースを参照

companion: add colors to logs

Ifedapo Olarewaju 5 年 前
コミット
f9e2402e7e

+ 50 - 1
packages/@uppy/companion/package-lock.json

@@ -1,9 +1,50 @@
 {
 	"name": "@uppy/companion",
-	"version": "1.0.2",
+	"version": "1.2.0",
 	"lockfileVersion": 1,
 	"requires": true,
 	"dependencies": {
+		"ansi-styles": {
+			"version": "3.2.1",
+			"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+			"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+			"requires": {
+				"color-convert": "^1.9.0"
+			}
+		},
+		"chalk": {
+			"version": "2.4.2",
+			"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+			"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+			"requires": {
+				"ansi-styles": "^3.2.1",
+				"escape-string-regexp": "^1.0.5",
+				"supports-color": "^5.3.0"
+			}
+		},
+		"color-convert": {
+			"version": "1.9.3",
+			"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+			"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+			"requires": {
+				"color-name": "1.1.3"
+			}
+		},
+		"color-name": {
+			"version": "1.1.3",
+			"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+			"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+		},
+		"escape-string-regexp": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+			"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+		},
+		"has-flag": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+			"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+		},
 		"mime-db": {
 			"version": "1.40.0",
 			"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
@@ -16,6 +57,14 @@
 			"requires": {
 				"mime-db": "1.40.0"
 			}
+		},
+		"supports-color": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+			"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+			"requires": {
+				"has-flag": "^3.0.0"
+			}
 		}
 	}
 }

+ 1 - 0
packages/@uppy/companion/package.json

@@ -34,6 +34,7 @@
     "atob": "2.1.0",
     "aws-sdk": "2.388.0",
     "body-parser": "1.18.2",
+    "chalk": "^2.4.2",
     "common-tags": "1.8.0",
     "connect-redis": "3.4.0",
     "cookie-parser": "1.4.3",

+ 10 - 5
packages/@uppy/companion/src/server/logger.js

@@ -1,3 +1,5 @@
+const chalk = require('chalk')
+
 /**
  * INFO level log
  * @param {string} msg the message to log
@@ -13,7 +15,8 @@ exports.info = (msg, tag) => {
  * @param {string=} tag a unique tag to easily search for this message
  */
 exports.warn = (msg, tag) => {
-  log(msg, tag, 'warn')
+  // @ts-ignore
+  log(msg, tag, 'warn', chalk.bold.yellow)
 }
 
 /**
@@ -22,7 +25,8 @@ exports.warn = (msg, tag) => {
  * @param {string=} tag a unique tag to easily search for this message
  */
 exports.error = (msg, tag) => {
-  log(msg, tag, 'error')
+  // @ts-ignore
+  log(msg, tag, 'error', chalk.bold.red)
 }
 
 /**
@@ -41,11 +45,12 @@ exports.debug = (msg, tag) => {
  * @param {string | Error} msg the message to log
  * @param {string} tag a unique tag to easily search for this message
  * @param {string} level error | info | debug
+ * @param {function=} color function to display the log in appropriate color
  */
-const log = (msg, tag, level) => {
-  // @TODO add some colors based on log level
+const log = (msg, tag, level, color) => {
   const time = new Date().toISOString()
+  color = color || ((message) => message)
   // exclude msg from template string so values such as error objects
   // can be well formatted
-  console.log(`uppy: ${time} [${level}] ${tag || ''}`, msg)
+  console.log(color(`uppy: ${time} [${level}] ${tag || ''}`), color(msg))
 }