- name = nil; -- While this line is not commented, will automatically fill in file/line number info
- return function (level, message, ...)
- if not name then
- local inf = debug.getinfo(3, 'Snl');
- level = level .. ","..tostring(inf.short_src):match("[^/]*$")..":"..inf.currentline;
- end
- if ... then
- print(level, format(message, ...));
- else
- print(level, message);
- end
+ local log_debug = make_logger(name, "debug");
+ local log_info = make_logger(name, "info");
+ local log_warn = make_logger(name, "warn");
+ local log_error = make_logger(name, "error");
+
+ return function (level, message, ...)
+ if level == "debug" then
+ return log_debug(message, ...);
+ elseif level == "info" then
+ return log_info(message, ...);
+ elseif level == "warn" then
+ return log_warn(message, ...);
+ elseif level == "error" then
+ return log_error(message, ...);