Software /
code /
prosody
Comparison
core/loggingmanager.lua @ 8226:3463d82276de
loggingmanager, mod_posix: Replace the old inconsistent log formatting with the new util.format
author | Waqas Hussain <waqas20@gmail.com> |
---|---|
date | Sun, 10 Sep 2017 13:05:45 -0400 |
parent | 7949:8acc35b5355a |
child | 8227:325371632fe6 |
comparison
equal
deleted
inserted
replaced
8225:70cb72f46a3b | 8226:3463d82276de |
---|---|
5 -- This project is MIT/X11 licensed. Please see the | 5 -- This project is MIT/X11 licensed. Please see the |
6 -- COPYING file in the source package for more information. | 6 -- COPYING file in the source package for more information. |
7 -- | 7 -- |
8 -- luacheck: globals log prosody.log | 8 -- luacheck: globals log prosody.log |
9 | 9 |
10 local format = string.format; | 10 local format = require "util.format"; |
11 local setmetatable, rawset, pairs, ipairs, type = | 11 local setmetatable, rawset, pairs, ipairs, type = |
12 setmetatable, rawset, pairs, ipairs, type; | 12 setmetatable, rawset, pairs, ipairs, type; |
13 local stdout = io.stdout; | 13 local stdout = io.stdout; |
14 local io_open = io.open; | 14 local io_open = io.open; |
15 local math_max, rep = math.max, string.rep; | 15 local math_max, rep = math.max, string.rep; |
193 | 193 |
194 -- Column width for "source" (used by stdout and console) | 194 -- Column width for "source" (used by stdout and console) |
195 local sourcewidth = sink_config.source_width; | 195 local sourcewidth = sink_config.source_width; |
196 | 196 |
197 return function (name, level, message, ...) | 197 return function (name, level, message, ...) |
198 local n = select('#', ...); | |
199 if n ~= 0 then | |
200 local arg = { ... }; | |
201 for i = 1, n do | |
202 arg[i] = tostring(arg[i]); | |
203 end | |
204 message = format(message, unpack(arg, 1, n)); | |
205 end | |
206 | |
207 if sourcewidth then | 198 if sourcewidth then |
208 sourcewidth = math_max(#name+2, sourcewidth); | 199 sourcewidth = math_max(#name+2, sourcewidth); |
209 name = name .. rep(" ", sourcewidth-#name); | 200 name = name .. rep(" ", sourcewidth-#name); |
210 else | 201 else |
211 name = name .. "\t"; | 202 name = name .. "\t"; |
212 end | 203 end |
213 write(logfile, timestamps and os_date(timestamps) or "", name, level, "\t", message, "\n"); | 204 write(logfile, timestamps and os_date(timestamps) or "", name, level, "\t", format(message, ...), "\n"); |
214 end | 205 end |
215 end | 206 end |
216 log_sink_types.file = log_to_file; | 207 log_sink_types.file = log_to_file; |
217 | 208 |
218 local function log_to_stdout(sink_config) | 209 local function log_to_stdout(sink_config) |