Software / code / verse
Annotate
libs/logger.lua @ 26:6c5fab6c11cf
Rename verse2 -> verse
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Wed, 09 Dec 2009 13:55:08 +0000 |
| parent | 5:93970910d064 |
| child | 127:8f831f259cea |
| rev | line source |
|---|---|
| 0 | 1 local print = print |
|
5
93970910d064
util.logger: Friendlier string.format to automatically tostring() arguments
Matthew Wild <mwild1@gmail.com>
parents:
0
diff
changeset
|
2 local select, tostring = select, tostring; |
| 0 | 3 module "logger" |
| 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 | 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, ...) |
|
93970910d064
util.logger: Friendlier string.format to automatically tostring() arguments
Matthew Wild <mwild1@gmail.com>
parents:
0
diff
changeset
|
18 print(level, format(message, ...)); |
| 0 | 19 end |
| 20 end | |
| 21 | |
| 22 return _M; |