libs/logger.lua

Sun, 28 Nov 2010 14:23:44 +0000

author
Matthew Wild <mwild1@gmail.com>
date
Sun, 28 Nov 2010 14:23:44 +0000
changeset 8
b8d3938d9307
parent 0
6e60da4625db
permissions
-rw-r--r--

COPYING: Add MIT/X11 licence

local print;
if os.getenv("LAHTTP_DEBUG") then
	print = _G.print;
else
	print = function () end;
end

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, format(message, ...));
	end
end

return _M;

mercurial