Software /
code /
prosody
Changeset
7135:0b614b7333f1
loggingmanager: Move logic for adaptive column width into file sink, append tab if disabled (fixes separation between name and level in plain file sinks)
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 04 Feb 2016 17:49:09 +0100 |
parents | 7134:b7b6b1d01224 |
children | 7136:6c3a33e54399 |
files | core/loggingmanager.lua |
diffstat | 1 files changed, 11 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/core/loggingmanager.lua Thu Feb 04 17:33:16 2016 +0100 +++ b/core/loggingmanager.lua Thu Feb 04 17:49:09 2016 +0100 @@ -193,10 +193,19 @@ logfile:setvbuf(sink_config.buffer_mode or "line"); end + -- Column width for "source" (used by stdout and console) + local sourcewidth = sink_config.source_width; + return function (name, level, message, ...) if timestamps then write(logfile, os_date(timestamps), " "); end + if sourcewidth then + sourcewidth = math_max(#name+2, sourcewidth); + name = name .. rep(" ", sourcewidth-#name); + else + name = name .. "\t"; + end if ... then write(logfile, name, level, "\t", format(message, ...), "\n"); else @@ -206,19 +215,12 @@ end log_sink_types.file = log_to_file; --- Column width for "source" (used by stdout and console) -local sourcewidth = 20; - local function log_to_stdout(sink_config) if not sink_config.timestamps then sink_config.timestamps = false; end - local logtofile = log_to_file(sink_config, stdout); - return function (name, level, message, ...) - sourcewidth = math_max(#name+2, sourcewidth); - name = name .. rep(" ", sourcewidth-#name); - return logtofile(name, level, message, ...); - end + sink_config.source_width = 20; + return log_to_file(sink_config, stdout); end log_sink_types.stdout = log_to_stdout;