configmanager: Error when a component and host clash hostnames
[prosody.git] / core / loggingmanager.lua
index d701511e17dee190278f717f1ff6ed5b93557e47..1bf90db10c07e2044f2190daf6e4bd3d5d0a04f5 100644 (file)
@@ -17,6 +17,12 @@ local math_max, rep = math.max, string.rep;
 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";
@@ -88,7 +94,7 @@ function apply_sink_rules(sink_type)
                        end
                end
        elseif type(logging_config) == "string" and (not logging_config:match("^%*")) and sink_type == "file" then
-               -- User specified simply a filename, and the "file" sink type 
+               -- User specified simply a filename, and the "file" sink type
                -- was just added
                for _, sink_config in pairs(default_file_logging) do
                        sink_config.filename = logging_config;
@@ -122,7 +128,7 @@ function get_levels(criteria, set)
                                return set;
                        elseif in_range then
                                set[level] = true;
-                       end     
+                       end
                end
        end
        
@@ -155,12 +161,12 @@ function log_sink_types.stdout()
                if timestamps then
                        io_write(os_date(timestamps), " ");
                end
-               if ... then 
+               if ... then
                        io_write(name, rep(" ", sourcewidth-namelen), level, "\t", format(message, ...), "\n");
                else
                        io_write(name, rep(" ", sourcewidth-namelen), level, "\t", message, "\n");
                end
-       end     
+       end
 end
 
 do
@@ -187,10 +193,11 @@ do
                return function (name, level, message, ...)
                        sourcewidth = math_max(#name+2, sourcewidth);
                        local namelen = #name;
+                       
                        if timestamps then
                                io_write(os_date(timestamps), " ");
                        end
-                       if ... then 
+                       if ... then
                                io_write(name, rep(" ", sourcewidth-namelen), getstring(logstyles[level], level), "\t", format(message, ...), "\n");
                        else
                                io_write(name, rep(" ", sourcewidth-namelen), getstring(logstyles[level], level), "\t", message, "\n");
@@ -230,7 +237,7 @@ function log_sink_types.file(config)
                if timestamps then
                        write(logfile, os_date(timestamps), " ");
                end
-               if ... then 
+               if ... then
                        write(logfile, name, "\t", level, "\t", format(message, ...), "\n");
                else
                        write(logfile, name, "\t" , level, "\t", message, "\n");