Annotate

libs/logger.lua @ 194:651c696e0b21

Added uptime plugin, included also an entry for it into the squishy file.
author Marco Cirillo <maranda@lightwitch.org>
date Mon, 14 Mar 2011 14:21:30 +0000
parent 127:8f831f259cea
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5
93970910d064 util.logger: Friendlier string.format to automatically tostring() arguments
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
1 local select, tostring = select, tostring;
127
8f831f259cea libs.logger: Use io.write instead of print
Matthew Wild <mwild1@gmail.com>
parents: 5
diff changeset
2 local io_write = io.write;
0
caf260adc453 Beginning of new verse
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
3 module "logger"
caf260adc453 Beginning of new verse
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4
5
93970910d064 util.logger: Friendlier string.format to automatically tostring() arguments
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
5 local function format(format, ...)
93970910d064 util.logger: Friendlier string.format to automatically tostring() arguments
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
6 local n, maxn = 0, #arg;
93970910d064 util.logger: Friendlier string.format to automatically tostring() arguments
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
7 return (format:gsub("%%(.)", function (c) if c ~= "%" and n <= maxn then n = n + 1; return tostring(arg[n]); end end));
93970910d064 util.logger: Friendlier string.format to automatically tostring() arguments
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
8 end
93970910d064 util.logger: Friendlier string.format to automatically tostring() arguments
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
9
93970910d064 util.logger: Friendlier string.format to automatically tostring() arguments
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
10 local function format(format, ...)
93970910d064 util.logger: Friendlier string.format to automatically tostring() arguments
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
11 local n, maxn = 0, select('#', ...);
93970910d064 util.logger: Friendlier string.format to automatically tostring() arguments
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
12 local arg = { ... };
93970910d064 util.logger: Friendlier string.format to automatically tostring() arguments
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
13 return (format:gsub("%%(.)", function (c) if n <= maxn then n = n + 1; return tostring(arg[n]); end end));
93970910d064 util.logger: Friendlier string.format to automatically tostring() arguments
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
14 end
93970910d064 util.logger: Friendlier string.format to automatically tostring() arguments
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
15
0
caf260adc453 Beginning of new verse
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
16 function init(name)
5
93970910d064 util.logger: Friendlier string.format to automatically tostring() arguments
Matthew Wild <mwild1@gmail.com>
parents: 0
diff changeset
17 return function (level, message, ...)
127
8f831f259cea libs.logger: Use io.write instead of print
Matthew Wild <mwild1@gmail.com>
parents: 5
diff changeset
18 io_write(level, "\t", format(message, ...), "\n");
0
caf260adc453 Beginning of new verse
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
19 end
caf260adc453 Beginning of new verse
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
20 end
caf260adc453 Beginning of new verse
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
21
caf260adc453 Beginning of new verse
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
22 return _M;