|
1 local print; |
|
2 if os.getenv("LAHTTP_DEBUG") then |
|
3 print = _G.print; |
|
4 else |
|
5 print = function () end; |
|
6 end |
|
7 |
|
8 local select, tostring = select, tostring; |
|
9 module "logger" |
|
10 |
|
11 local function format(format, ...) |
|
12 local n, maxn = 0, #arg; |
|
13 return (format:gsub("%%(.)", function (c) if c ~= "%" and n <= maxn then n = n + 1; return tostring(arg[n]); end end)); |
|
14 end |
|
15 |
|
16 local function format(format, ...) |
|
17 local n, maxn = 0, select('#', ...); |
|
18 local arg = { ... }; |
|
19 return (format:gsub("%%(.)", function (c) if n <= maxn then n = n + 1; return tostring(arg[n]); end end)); |
|
20 end |
|
21 |
|
22 function init(name) |
|
23 return function (level, message, ...) |
|
24 print(level, format(message, ...)); |
|
25 end |
|
26 end |
|
27 |
|
28 return _M; |