# HG changeset patch
# User Kim Alvefur <zash@zash.se>
# Date 1454605032 -3600
# Node ID 4a5619a87b444fa19250b0c67f101da5842a32dd
# Parent  6c3a33e5439901a2ec62220ae186a211bdff3b54
loggingmanager: Write out timestamps in same write() call as everything else

diff -r 6c3a33e54399 -r 4a5619a87b44 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