console.js | |
---|---|
/*
* console.js: Transport for outputting to the console
*
* (C) 2010 Charlie Robbins
* MIT LICENCE
*
*/
var events = require('events'),
util = require('util'),
colors = require('colors'),
common = require('../common'),
Transport = require('./transport').Transport; | |
function Console (options)@options {Object} Options for this instance.Constructor function for the Console transport object responsible for persisting log messages and metadata to a terminal or TTY. | var Console = exports.Console = function (options) {
Transport.call(this, options);
options = options || {};
this.name = 'console';
this.json = options.json || false;
this.colorize = options.colorize || false;
this.timestamp = typeof options.timestamp !== 'undefined' ? options.timestamp : false;
}; |
Inherit from | util.inherits(Console, Transport); |
Expose the name of this Transport on the prototype | Console.prototype.name = 'console'; |
function log (level, msg, [meta], callback)@level {string} Level at which to log the message.@msg {string} Message to log@meta {Object} Optional Additional metadata to attach@callback {function} Continuation to respond to when complete.Core logging method exposed to Winston. Metadata is optional. | Console.prototype.log = function (level, msg, meta, callback) {
if (this.silent) {
return callback(null, true);
}
var self = this, output = common.log({
level: level,
message: msg,
meta: meta,
colorize: this.colorize,
timestamp: this.timestamp
});
if (level === 'error' || level === 'debug') {
util.error(output);
}
else {
util.puts(output);
} |
Emit the | self.emit('logged');
callback(null, true);
};
|