From a985949cfeae4afec979b32acad9aa2a6f9e56a8 Mon Sep 17 00:00:00 2001 From: Mattes D Date: Fri, 7 Aug 2015 12:47:45 +0200 Subject: Flush log file when a warning or error message is output. Fixes #2419. --- src/LoggerListeners.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/LoggerListeners.cpp b/src/LoggerListeners.cpp index 91964c57e..ba8139678 100644 --- a/src/LoggerListeners.cpp +++ b/src/LoggerListeners.cpp @@ -317,6 +317,7 @@ cFileListener::cFileListener(void) void cFileListener::Log(AString a_Message, cLogger::eLogLevel a_LogLevel) { const char * LogLevelPrefix = "Unkn "; + bool ShouldFlush = false; switch (a_LogLevel) { case cLogger::llRegular: @@ -332,15 +333,21 @@ void cFileListener::Log(AString a_Message, cLogger::eLogLevel a_LogLevel) case cLogger::llWarning: { LogLevelPrefix = "Warn "; + ShouldFlush = true; break; } case cLogger::llError: { LogLevelPrefix = "Err "; + ShouldFlush = true; break; } } m_File.Printf("%s%s", LogLevelPrefix, a_Message.c_str()); + if (ShouldFlush) + { + m_File.Flush(); + } } -- cgit v1.2.3