bower-logger 
The logger used in the various architecture components of Bower.
Usage
.error(id, message, data)
Alias to .log('error', id. message, data)
.conflict(id, message, data)
Alias to .log('conflict', id. message, data)
.warn(id, message, data)
Alias to .log('warn', id. message, data)
.action(id, message, data)
Alias to .log('action', id. message, data)
.info(id, message, data)
Alias to .log('info', id. message, data)
.debug(id, message, data)
Alias to .log('debug', id. message, data)
.log(level, id, message, data)
Emits a log event, with an object like so:
logger.log('warn', 'foo', 'bar', { dog: 'loves cat' })
{
level: 'warn',
id: 'foo',
message: 'bar',
data: {
dog: 'loves cat'
}
}
.prompt(prompts, callback)
Emits a prompt event with an array of prompts with a callback.
prompts can be an object or an array of objects. The callback will be called with an
the answer or an object of answers (if prompts was only one or an array respectively).
The callback is guaranteed to run only once.
logger.on('prompt', function (prompts, callback) {
inquirer(prompts, callback);
})
logger.prompt({
type: 'input'
message: 'Type something',
validate: function (value) {
if (value !== 'I am awesome') {
return 'You must type "I am awesome"'
}
return true;
}
}, function (err, answer) {
if (err) {
return console.error(err.message);
}
console.log(answer);
});
.pipe(logger)
Pipes all logger events to another logger.
Basically all events emitted with .emit() will get piped.
.geminate()
Creates a new logger that pipes events to the parent logger.
Alias for (new Logger()).pipe(logger).
.intercept(fn)
Intercepts log events, calling fn before listeners of the instance.
#LEVELS
A static property that contains an object where keys are the recognized log levels and values their importance.
The higher the importance, the more important the level is.
License
Released under the MIT License.