From 9dac3902473c4e240a05430113aa9bd49af54d7d Mon Sep 17 00:00:00 2001 From: Anthony Birkett Date: Thu, 4 Jun 2015 14:13:07 +0100 Subject: Daemon support on Linux. Added null console log listener, avoid printf() when stdout is closed. --- src/LoggerListeners.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'src/LoggerListeners.cpp') diff --git a/src/LoggerListeners.cpp b/src/LoggerListeners.cpp index 31b12af1e..132751e8e 100644 --- a/src/LoggerListeners.cpp +++ b/src/LoggerListeners.cpp @@ -238,8 +238,26 @@ public: -cLogger::cListener * MakeConsoleListener(void) +// Listener for when stdout is closed, i.e. When running as a daemon. +class cNullConsoleListener + : public cLogger::cListener +{ + virtual void Log(AString a_Message, cLogger::eLogLevel a_LogLevel) override + { + } +}; + + + + + +cLogger::cListener * MakeConsoleListener(bool a_IsService) { + if (a_IsService) + { + return new cNullConsoleListener; + } + #ifdef _WIN32 // See whether we are writing to a console the default console attrib: bool ShouldColorOutput = (_isatty(_fileno(stdin)) != 0); -- cgit v1.2.3