loggingmanager: Explicitly flush log messages if the __FLUSH_LOG environment variable is defined (workaround for MSVCRT buffering piped output).

Sun, 22 Nov 2009 21:33:41 +0500

author
Waqas Hussain <waqas20@gmail.com>
date
Sun, 22 Nov 2009 21:33:41 +0500
changeset 2139
625b2d3e8900
parent 2090
7810648ea26d
child 2140
94b7ba39787d

loggingmanager: Explicitly flush log messages if the __FLUSH_LOG environment variable is defined (workaround for MSVCRT buffering piped output).

core/loggingmanager.lua file | annotate | diff | comparison | revisions
--- a/core/loggingmanager.lua	Fri Nov 20 15:07:39 2009 +0000
+++ b/core/loggingmanager.lua	Sun Nov 22 21:33:41 2009 +0500
@@ -17,6 +17,12 @@
 local os_date, os_getenv = os.date, os.getenv;
 local getstyle, getstring = require "util.termcolours".getstyle, require "util.termcolours".getstring;
 
+if os.getenv("__FLUSH_LOG") then
+	local io_flush = io.flush;
+	local _io_write = io_write;
+	io_write = function(...) _io_write(...); io_flush(); end
+end
+
 local config = require "core.configmanager";
 local eventmanager = require "core.eventmanager";
 local logger = require "util.logger";

mercurial