From f8cfc99c4fe2d46cdef1293d237cf0772f488324 Mon Sep 17 00:00:00 2001 From: DeMoorJasper Date: Wed, 1 Aug 2018 17:43:20 -0700 Subject: [PATCH 1/4] minimal verbose mode --- src/Bundler.js | 2 ++ src/Logger.js | 34 +++++++++++++++++++++++++++++++++- src/cli.js | 6 +++--- 3 files changed, 38 insertions(+), 4 deletions(-) diff --git a/src/Bundler.js b/src/Bundler.js index d02c93eb857..3ac370d762a 100644 --- a/src/Bundler.js +++ b/src/Bundler.js @@ -584,6 +584,8 @@ class Bundler extends EventEmitter { } }); + logger.verbose(`Built ${asset.relativeName}...`); + if (this.cache && cacheMiss) { this.cache.write(asset.name, processed); } diff --git a/src/Logger.js b/src/Logger.js index dcdee4998d2..f38afa752dc 100644 --- a/src/Logger.js +++ b/src/Logger.js @@ -6,6 +6,8 @@ const {countBreaks} = require('grapheme-breaker'); const stripAnsi = require('strip-ansi'); const ora = require('ora'); const WorkerFarm = require('./workerfarm/WorkerFarm'); +const path = require('path'); +const fs = require('fs'); class Logger { constructor(options) { @@ -50,6 +52,10 @@ class Logger { } write(message, persistent = false) { + if (this.logLevel > 3) { + return this.verbose(message); + } + if (!persistent) { this.lines += this.countLines(message); } @@ -58,6 +64,28 @@ class Logger { this._log(message); } + verbose(message) { + if (this.logLevel < 4) { + return; + } + + let currDate = new Date(); + message = `[${currDate.toLocaleTimeString()}]: ${message}`; + if (this.logLevel > 4) { + if (!this.logFile) { + this.logFile = fs.createWriteStream( + path.join( + process.cwd(), + `parcel-debug-${currDate.toLocaleDateString()}@${currDate.toLocaleTimeString()}.log` + ) + ); + this.logFile.write = this.logFile.write.bind(this.logFile); + } + this.logFile.write(stripAnsi(message) + '\n'); + } + this._log(message); + } + log(message) { if (this.logLevel < 3) { return; @@ -103,7 +131,7 @@ class Logger { } clear() { - if (!this.color || this.isTest) { + if (!this.color || this.isTest || this.logLevel > 3) { return; } @@ -122,6 +150,10 @@ class Logger { return; } + if (this.logLevel > 3) { + return this.verbose(message); + } + let styledMessage = this.chalk.gray.bold(message); if (!this.spinner) { this.spinner = ora({ diff --git a/src/cli.js b/src/cli.js index 1f57461b6e3..f63dc5798e7 100755 --- a/src/cli.js +++ b/src/cli.js @@ -59,7 +59,7 @@ program .option( '--log-level ', 'set the log level, either "0" (no output), "1" (errors), "2" (warnings + errors) or "3" (all).', - /^([0-3])$/ + /^([0-5])$/ ) .option('--cache-dir ', 'set the cache directory. defaults to ".cache"') .action(bundle); @@ -108,7 +108,7 @@ program .option( '--log-level ', 'set the log level, either "0" (no output), "1" (errors), "2" (warnings + errors) or "3" (all).', - /^([0-3])$/ + /^([0-5])$/ ) .option('--cache-dir ', 'set the cache directory. defaults to ".cache"') .action(bundle); @@ -152,7 +152,7 @@ program .option( '--log-level ', 'set the log level, either "0" (no output), "1" (errors), "2" (warnings + errors) or "3" (all).', - /^([0-3])$/ + /^([0-5])$/ ) .option('--cache-dir ', 'set the cache directory. defaults to ".cache"') .action(bundle); From a4187965a57a90cdb6fccff153644f1fbe36be63 Mon Sep 17 00:00:00 2001 From: DeMoorJasper Date: Thu, 23 Aug 2018 14:09:22 -0700 Subject: [PATCH 2/4] update to latest master --- src/Bundler.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/Bundler.js b/src/Bundler.js index dc65bf06bc5..0854d970a31 100644 --- a/src/Bundler.js +++ b/src/Bundler.js @@ -251,9 +251,7 @@ class Bundler extends EventEmitter { this.entryAssets.add(asset); } catch (err) { throw new Error( - `Cannot resolve entry "${entry}" from "${ - this.options.rootDir - }"` + `Cannot resolve entry "${entry}" from "${this.options.rootDir}"` ); } } From d37774ca4eaa0223d835a57d9f155576d45c83f1 Mon Sep 17 00:00:00 2001 From: DeMoorJasper Date: Thu, 23 Aug 2018 14:12:31 -0700 Subject: [PATCH 3/4] update docs --- src/cli.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cli.js b/src/cli.js index 06d932d5c33..837efdf8728 100755 --- a/src/cli.js +++ b/src/cli.js @@ -58,7 +58,7 @@ program .option('-V, --version', 'output the version number') .option( '--log-level ', - 'set the log level, either "0" (no output), "1" (errors), "2" (warnings + errors) or "3" (all).', + 'set the log level, either "0" (no output), "1" (errors), "2" (warnings), "3" (info), "4" (verbose) or "5" (debug, creates a log file).', /^([0-5])$/ ) .option('--cache-dir ', 'set the cache directory. defaults to ".cache"') @@ -107,7 +107,7 @@ program ) .option( '--log-level ', - 'set the log level, either "0" (no output), "1" (errors), "2" (warnings + errors) or "3" (all).', + 'set the log level, either "0" (no output), "1" (errors), "2" (warnings), "3" (info), "4" (verbose) or "5" (debug, creates a log file).', /^([0-5])$/ ) .option('--cache-dir ', 'set the cache directory. defaults to ".cache"') @@ -151,7 +151,7 @@ program ) .option( '--log-level ', - 'set the log level, either "0" (no output), "1" (errors), "2" (warnings + errors) or "3" (all).', + 'set the log level, either "0" (no output), "1" (errors), "2" (warnings), "3" (info), "4" (verbose) or "5" (debug, creates a log file).', /^([0-5])$/ ) .option('--cache-dir ', 'set the cache directory. defaults to ".cache"') From e110b16afafb56b9878fd179f98d9acd66745fed Mon Sep 17 00:00:00 2001 From: DeMoorJasper Date: Thu, 23 Aug 2018 14:38:13 -0700 Subject: [PATCH 4/4] remove bind --- src/Logger.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Logger.js b/src/Logger.js index f38afa752dc..c9ffd19c98c 100644 --- a/src/Logger.js +++ b/src/Logger.js @@ -79,7 +79,6 @@ class Logger { `parcel-debug-${currDate.toLocaleDateString()}@${currDate.toLocaleTimeString()}.log` ) ); - this.logFile.write = this.logFile.write.bind(this.logFile); } this.logFile.write(stripAnsi(message) + '\n'); }