mirror of
https://github.com/wishthis/wishthis.git
synced 2025-12-31 03:08:25 -05:00
86 lines
1.7 KiB
JavaScript
86 lines
1.7 KiB
JavaScript
'use strict';
|
|
|
|
var util = require('util');
|
|
var Console = require('console').Console;
|
|
var supportsColor = require('color-support');
|
|
|
|
var console = new Console({
|
|
stdout: process.stdout,
|
|
stderr: process.stderr,
|
|
colorMode: false,
|
|
});
|
|
|
|
function hasFlag(flag) {
|
|
return process.argv.indexOf('--' + flag) !== -1;
|
|
}
|
|
|
|
function hasColors() {
|
|
if (hasFlag('no-color')) {
|
|
return false;
|
|
}
|
|
|
|
if (hasFlag('color')) {
|
|
return true;
|
|
}
|
|
|
|
if (supportsColor()) {
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
function Timestamp() {
|
|
this.now = new Date();
|
|
}
|
|
|
|
Timestamp.prototype[util.inspect.custom] = function (depth, opts) {
|
|
var timestamp = this.now.toLocaleTimeString('en', { hour12: false });
|
|
return '[' + opts.stylize(timestamp, 'date') + ']';
|
|
};
|
|
|
|
function getTimestamp() {
|
|
return util.inspect(new Timestamp(), { colors: hasColors() });
|
|
}
|
|
|
|
function log() {
|
|
var time = getTimestamp();
|
|
process.stdout.write(time + ' ');
|
|
console.log.apply(console, arguments);
|
|
return this;
|
|
}
|
|
|
|
function info() {
|
|
var time = getTimestamp();
|
|
process.stdout.write(time + ' ');
|
|
console.info.apply(console, arguments);
|
|
return this;
|
|
}
|
|
|
|
function dir() {
|
|
var time = getTimestamp();
|
|
process.stdout.write(time + ' ');
|
|
console.dir.apply(console, arguments);
|
|
return this;
|
|
}
|
|
|
|
function warn() {
|
|
var time = getTimestamp();
|
|
process.stderr.write(time + ' ');
|
|
console.warn.apply(console, arguments);
|
|
return this;
|
|
}
|
|
|
|
function error() {
|
|
var time = getTimestamp();
|
|
process.stderr.write(time + ' ');
|
|
console.error.apply(console, arguments);
|
|
return this;
|
|
}
|
|
|
|
module.exports = log;
|
|
module.exports.info = info;
|
|
module.exports.dir = dir;
|
|
module.exports.warn = warn;
|
|
module.exports.error = error;
|