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