      1 var define = require("../../define.js").define, base = require("../../base"), string = base.string, style = string.style, format = string.format, Appender = require("./appender"), Level = require("../level");
      2
      3 /**
      4  * @class Appends messages to the console.
      5  *
      6  * @name ConsoleAppender
      7  * @augments comb.logging.appenders.Appender
      8  * @memberOf comb.logging.appenders
      9  */
     10 exports = module.exports = define(Appender, {
     11 			instance : {
     12
     13 				constructor : function(options){
     14 					options = options || {};
     15 					!options.name && (options.name = "consoleAppender");
     16 					this.super(arguments, [options]);
     17 				},
     18
     19 				append : function(event) {
     20 					if (this._canAppend(event)) {
     21 						var message = format(this.__pattern, event);
     22 						var level = event.level;
     23 						if (Level.ERROR.equals(level) || Level.FATAL.equals(level)) {
     24 							console.log(style(message, "red"));
     25 						} else if(Level.WARN.equals(level)){
     26 							 console.log(style(message, "yellow"));
     27 						}else if (Level.DEBUG.equals(level)) {
     28 							console.log(style(message, "magenta"));
     29 						} else if (Level.TRACE.equals(level)) {
     30 							console.log(style(message, "cyan"));
     31 						} else {
     32 							console.log(message);
     33 						}
     34 					}
     35 				}
     36 			}
     37 		});