var clc = require("cli-color");
var fs = require("fs");
var util = require("util");

var out = module.exports = {};

out.file = fs.createWriteStream("./data/simbot.log", {flags: 'a'});

out.time = function() {
	return new Date().toISOString();
};

out.wrapper = function(type, color, module, message) {
	if (!(typeof(message) === "string" || message instanceof String))
		message = util.inspect(message, {colors: true});
	console.log(clc.blackBright(out.time()) + " " + color("[" + type + ":") + color.bold(module) + color("] ") + message);
	out.file.write(out.time() + " [" + type + ":" + module + "] " + message + "\n", 'utf8');
};

out.log = function(module, message) {
	out.wrapper("LOG", clc.cyan, module, message);
};

out.doing = function(module, message) {
	out.wrapper("DOING", clc.cyanBright, module, message);
};

out.ok = function(module, message) {
	out.wrapper("OK", clc.greenBright, module, message);
};

out.debug = function(module, message) {
	out.wrapper("DEBUG", clc.magentaBright, module, message);
};

out.warn = function(module, message) {
	out.wrapper("WARN", clc.yellowBright, module, message);
};

out.error = function(module, message) {
	out.wrapper("ERROR", clc.redBright, module, message);
};

@@ -237,24 +237,43 @@
 ring();%0A%7D;%0A%0A
+out.ignores = %5B%5D;%0A%0A
 out.wrapper 
@@ -315,16 +315,16 @@
 sage) %7B%0A
-
 %09if (!(t
@@ -433,16 +433,90 @@
 true%7D);%0A
+%0A%09if (!out.ignores.some(function(re) %7B%0A%09%09%09return type.match(re);%0A%09%09%7D)) %7B%0A%09
 %09console
@@ -627,16 +627,19 @@
 ssage);%0A
+%09%7D%0A
 %09out.fil

allow ignoring output lines in REPL