libs/logger.lua

changeset 5
93970910d064
parent 0
caf260adc453
child 127
8f831f259cea
--- a/libs/logger.lua	Sat Nov 28 22:22:51 2009 +0000
+++ b/libs/logger.lua	Sat Nov 28 22:24:20 2009 +0000
@@ -1,9 +1,21 @@
 local print = print
+local select, tostring = select, tostring;
 module "logger"
 
+local function format(format, ...)
+	local n, maxn = 0, #arg;
+	return (format:gsub("%%(.)", function (c) if c ~= "%" and n <= maxn then n = n + 1; return tostring(arg[n]); end end));
+end
+
+local function format(format, ...)
+	local n, maxn = 0, select('#', ...);
+	local arg = { ... };
+	return (format:gsub("%%(.)", function (c) if n <= maxn then n = n + 1; return tostring(arg[n]); end end));
+end
+
 function init(name)
-	return function (level, message)
-		print(level, message);
+	return function (level, message, ...)
+		print(level, format(message, ...));
 	end
 end
 

mercurial