loggingmanager: Write out timestamps in same write() call as everything else
authorKim Alvefur <zash@zash.se>
Thu, 04 Feb 2016 17:57:12 +0100
changeset 7140 4a5619a87b44
parent 7139 6c3a33e54399
child 7141 ae1d53c2f598
loggingmanager: Write out timestamps in same write() call as everything else
core/loggingmanager.lua
--- a/core/loggingmanager.lua	Thu Feb 04 17:51:39 2016 +0100
+++ b/core/loggingmanager.lua	Thu Feb 04 17:57:12 2016 +0100
@@ -35,7 +35,7 @@
 -- The log config used if none specified in the config file (see reload_logging for initialization)
 local default_logging;
 local default_file_logging;
-local default_timestamp = "%b %d %H:%M:%S";
+local default_timestamp = "%b %d %H:%M:%S ";
 -- The actual config loggingmanager is using
 local logging_config;
 
@@ -187,6 +187,8 @@
 
 	if timestamps == true then
 		timestamps = default_timestamp; -- Default format
+	elseif timestamps then
+		timestamps = timestamps .. " ";
 	end
 
 	if sink_config.buffer_mode ~= false then
@@ -197,9 +199,6 @@
 	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);
@@ -207,9 +206,9 @@
 			name = name .. "\t";
 		end
 		if ... then
-			write(logfile, name, level, "\t", format(message, ...), "\n");
+			write(logfile, timestamps and os_date(timestamps) or "", name, level, "\t", format(message, ...), "\n");
 		else
-			write(logfile, name, level, "\t", message, "\n");
+			write(logfile, timestamps and os_date(timestamps) or "", name, level, "\t", message, "\n");
 		end
 	end
 end