lib/logging/index.js
function log(level, message) {
            var rawMessage = message;
            level = Level.toLevel(level);

            if (this.hasLevelGt(level)) {
                var args = argsToArray(arguments, 1);
                if (args.length > 1) {
                    message = format.apply(null, args);
                }
                if (Level.TRACE.equals(level)) {
                    var err = new Error;
                    err.name = "Trace";
                    err.message = message || '';
                    Error.captureStackTrace(err, log);
                    message = err.stack;
                } else if (Level.ERROR.equals(level) && isInstanceOf(message, Error)) {
                    message = message.stack;
                }
                var type = level.name.toLowerCase(), appenders = this.__appenders;
                var event = this.getLogEvent(level, message, rawMessage);
                Object.keys(appenders).forEach(function (i) {
                    appenders[i].append(event);
                });
            }
            return this;
        }
function log(level, message) {
            var rawMessage = message;
            level = Level.toLevel(level);

            if (this.hasLevelGt(level)) {
                var args = argsToArray(arguments, 1);
                if (args.length > 1) {
                    message = format.apply(null, args);
                }
                if (Level.TRACE.equals(level)) {
                    var err = new Error;
                    err.name = "Trace";
                    err.message = message || '';
                    Error.captureStackTrace(err, log);
                    message = err.stack;
                } else if (Level.ERROR.equals(level) && isInstanceOf(message, Error)) {
                    message = message.stack;
                }
                var type = level.name.toLowerCase(), appenders = this.__appenders;
                var event = this.getLogEvent(level, message, rawMessage);
                Object.keys(appenders).forEach(function (i) {
                    appenders[i].append(event);
                });
            }
            return this;
        }
function log ( level , message ) { var rawMessage = message ; level = Level . toLevel ( level ) ; if ( this . hasLevelGt ( level ) ) { var args = argsToArray ( arguments , 1 ) ; if ( args . length > 1 ) { message = format . apply ( null , args ) ; } if ( Level . TRACE . equals ( level ) ) { var err = new Error ; err . name = "Trace" ; err . message = message || '' ; Error . captureStackTrace ( err , log ) ; message = err . stack ; } else if ( Level . ERROR . equals ( level ) && isInstanceOf ( message , Error ) ) { message = message . stack ; } var type = level . name . toLowerCase ( ) , appenders = this . __appenders ; var event = this . getLogEvent ( level , message , rawMessage ) ; Object . keys ( appenders ) . forEach ( function ( i ) { appenders [ i ] . append ( event ) ; } ) ; } return this ; }
Log a message

@param {comb.logging.Level} level the level the message is
@param {String} message the message to log.

@return {comb.logging.Logger} for chaining.
Log a message