docs: function Logger(level, opts) {
  	if (!(this instanceof Logger)) return new Logger(level)
  
  	var addTimestamp, name
  
  	if (typeof(level) === 'object') {
  		opts = level
  		level = opts.level		
  	}
  
  	if (typeof(opts) === 'object') {
  		addTimestamp = opts.addTimestamp
  		name = opts.name
  	} else {
  		addTimestamp = opts
  	}
  
  	if (addTimestamp === undefined)
  		addTimestamp = true
  
  	if (name) 
  		this.name = '[' + name + '] '
  	else 
  		this.name = ''
  
  	level = level || LogLevel.INFO
  	this.outputs = []
  	this.setLevel(level)
  	this.addOutput(Logger.consoleLogOutput, addTimestamp)
  }