init.lua

changeset 241
931bf313c691
parent 240
e27bf761bea6
child 242
ab4773b0ef5e
--- a/init.lua	Sun Nov 27 22:50:21 2011 +0000
+++ b/init.lua	Sun Nov 27 22:59:59 2011 +0000
@@ -37,12 +37,20 @@
 verse.new_logger = logger.init;
 verse.log = verse.logger("verse");
 
+local function format(format, ...)
+	local n, arg, maxn = 0, { ... }, select('#', ...);
+	return (format:gsub("%%(.)", function (c) if n <= maxn then n = n + 1; return tostring(arg[n]); end end));
+end
+
 function verse.set_log_handler(log_handler, levels)
 	levels = levels or { "debug", "info", "warn", "error" };
 	logger.reset();
+	local function _log_handler(name, level, message, ...)
+		return log_handler(name, level, format(message, ...));
+	end
 	if log_handler then
 		for i, level in ipairs(levels) do
-			logger.add_level_sink(level, log_handler);
+			logger.add_level_sink(level, _log_handler);
 		end
 	end
 end

mercurial