summaryrefslogtreecommitdiffstats
path: root/node_modules/nodemon/lib/utils/log.js
diff options
context:
space:
mode:
authorGravatar Piotr Russ <mail@pruss.it> 2020-11-16 00:10:28 +0100
committerGravatar Piotr Russ <mail@pruss.it> 2020-11-16 00:10:28 +0100
commite06ec920f7a5d784e674c4c4b4e6d1da3dc7391d (patch)
tree55713f725f77b44ebfec86e4eec3ce33e71458ca /node_modules/nodemon/lib/utils/log.js
downloadwebsite_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.gz
website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.tar.bz2
website_creator-e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d.zip
api, login, auth
Diffstat (limited to 'node_modules/nodemon/lib/utils/log.js')
-rw-r--r--node_modules/nodemon/lib/utils/log.js82
1 files changed, 82 insertions, 0 deletions
diff --git a/node_modules/nodemon/lib/utils/log.js b/node_modules/nodemon/lib/utils/log.js
new file mode 100644
index 0000000..6580087
--- /dev/null
+++ b/node_modules/nodemon/lib/utils/log.js
@@ -0,0 +1,82 @@
+var colour = require('./colour');
+var bus = require('./bus');
+var required = false;
+var useColours = true;
+
+var coding = {
+ log: 'black',
+ info: 'yellow',
+ status: 'green',
+ detail: 'yellow',
+ fail: 'red',
+ error: 'red',
+};
+
+function log(type, text) {
+ var msg = '[nodemon] ' + (text || '');
+
+ if (useColours) {
+ msg = colour(coding[type], msg);
+ }
+
+ // always push the message through our bus, using nextTick
+ // to help testing and get _out of_ promises.
+ process.nextTick(() => {
+ bus.emit('log', { type: type, message: text, colour: msg });
+ });
+
+ // but if we're running on the command line, also echo out
+ // question: should we actually just consume our own events?
+ if (!required) {
+ if (type === 'error') {
+ console.error(msg);
+ } else {
+ console.log(msg || '');
+ }
+ }
+}
+
+var Logger = function (r) {
+ if (!(this instanceof Logger)) {
+ return new Logger(r);
+ }
+ this.required(r);
+ return this;
+};
+
+Object.keys(coding).forEach(function (type) {
+ Logger.prototype[type] = log.bind(null, type);
+});
+
+// detail is for messages that are turned on during debug
+Logger.prototype.detail = function (msg) {
+ if (this.debug) {
+ log('detail', msg);
+ }
+};
+
+Logger.prototype.required = function (val) {
+ required = val;
+};
+
+Logger.prototype.debug = false;
+Logger.prototype._log = function (type, msg) {
+ if (required) {
+ bus.emit('log', { type: type, message: msg || '', colour: msg || '' });
+ } else if (type === 'error') {
+ console.error(msg);
+ } else {
+ console.log(msg || '');
+ }
+};
+
+Object.defineProperty(Logger.prototype, 'useColours', {
+ set: function (val) {
+ useColours = val;
+ },
+ get: function () {
+ return useColours;
+ },
+});
+
+module.exports = Logger;