30
|
1 |
|
|
2 |
local format = string.format; |
|
3 |
local print = print; |
|
4 |
local debug = debug; |
|
5 |
local tostring = tostring; |
|
6 |
module "logger" |
|
7 |
|
|
8 |
function init(name) |
|
9 |
name = nil; -- While this line is not commented, will automatically fill in file/line number info |
|
10 |
return function (level, message, ...) |
|
11 |
if not name then |
|
12 |
local inf = debug.getinfo(2, 'Snl'); |
|
13 |
level = level .. ","..tostring(inf.short_src):match("[^/]*$")..":"..inf.currentline; |
|
14 |
end |
|
15 |
if ... then |
|
16 |
print(level, format(message, ...)); |
|
17 |
else |
|
18 |
print(level, message); |
|
19 |
end |
|
20 |
end |
|
21 |
end |
|
22 |
|
|
23 |
return _M; |