loggers.js
function MultiLine()
{

    MultiLine.prototype.parse_and_print = function(msg, colour)
    {
        var out = [];
        for (var i = 0; i < msg.length; i++)
        {
            var msg_item = msg[i];
            if (typeof msg_item == 'object')
                out.push(colour + RESET + util.inspect(msg_item, false, 50, true) + RESET + colour);
            else
                out.push(msg_item);
        }
        this.print(colour + out.join(' ') + colour + " " + RESET);
    };

    MultiLine.prototype.info = function(msg)
    {
        this.parse_and_print(msg, GREEN);
    };

    MultiLine.prototype.mark = function(msg)
    {
        this.parse_and_print(msg, LIGHT_GREEN);
    };

    MultiLine.prototype.error = function(msg)
    {
        this.parse_and_print(msg, RED);
    };

    MultiLine.prototype.warn = function(msg)
    {
        this.parse_and_print(msg, YELLOW);
    };

    MultiLine.prototype.print = function(msg)
    {
        console.log(msg);
    };
}
function MultiLine()
{

    MultiLine.prototype.parse_and_print = function(msg, colour)
    {
        var out = [];
        for (var i = 0; i < msg.length; i++)
        {
            var msg_item = msg[i];
            if (typeof msg_item == 'object')
                out.push(colour + RESET + util.inspect(msg_item, false, 50, true) + RESET + colour);
            else
                out.push(msg_item);
        }
        this.print(colour + out.join(' ') + colour + " " + RESET);
    };

    MultiLine.prototype.info = function(msg)
    {
        this.parse_and_print(msg, GREEN);
    };

    MultiLine.prototype.mark = function(msg)
    {
        this.parse_and_print(msg, LIGHT_GREEN);
    };

    MultiLine.prototype.error = function(msg)
    {
        this.parse_and_print(msg, RED);
    };

    MultiLine.prototype.warn = function(msg)
    {
        this.parse_and_print(msg, YELLOW);
    };

    MultiLine.prototype.print = function(msg)
    {
        console.log(msg);
    };
}
function MultiLine ( ) { MultiLine . prototype . parse_and_print = function ( msg , colour ) { var out = [ ] ; for ( var i = 0 ; i < msg . length ; i ++ ) { var msg_item = msg [ i ] ; if ( typeof msg_item == 'object' ) out . push ( colour + RESET + util . inspect ( msg_item , false , 50 , true ) + RESET + colour ) ; else out . push ( msg_item ) ; } this . print ( colour + out . join ( ' ' ) + colour + " " + RESET ) ; } ; MultiLine . prototype . info = function ( msg ) { this . parse_and_print ( msg , GREEN ) ; } ; MultiLine . prototype . mark = function ( msg ) { this . parse_and_print ( msg , LIGHT_GREEN ) ; } ; MultiLine . prototype . error = function ( msg ) { this . parse_and_print ( msg , RED ) ; } ; MultiLine . prototype . warn = function ( msg ) { this . parse_and_print ( msg , YELLOW ) ; } ; MultiLine . prototype . print = function ( msg ) { console . log ( msg ) ; } ; }
Print every message in new line
@constructor
Print every message in new line