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; |