libs/logger.lua

Thu, 13 Jan 2011 00:23:17 +0100

author
Kim Alvefur <zash@zash.se>
date
Thu, 13 Jan 2011 00:23:17 +0100
changeset 184
8173e57522bf
parent 127
8f831f259cea
permissions
-rw-r--r--

plugins.groupchat: Fix a missing `st.` and send join stanza regardless of return value from pre-join event.

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;

mercurial