.
This commit is contained in:
		
							
								
								
									
										82
									
								
								qwen/nodejs/node_modules/nodemon/lib/utils/log.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								qwen/nodejs/node_modules/nodemon/lib/utils/log.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -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;
 | 
			
		||||
		Reference in New Issue
	
	Block a user