Some more logging fixes
[prosody.git] / util / logger.lua
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(3, 'Snl');
13                                         level = level .. ","..tostring(inf.short_src):match("[^/]*$")..":"..inf.currentline;
14                                 end
15                                 if ... then 
16                                         print(name, level, format(message, ...));
17                                 else
18                                         print(name, level, message);
19                                 end
20                         end
21 end
22
23 return _M;