From 6d1afefe58898d8c476ede269e981fd1d1fd672a Mon Sep 17 00:00:00 2001 From: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de> Date: Tue, 5 Oct 2021 13:42:36 +0200 Subject: [PATCH] common: let StdoutLogger skip header, if desired When StdoutLogger is used in combination with systemd, then header becomes redundant. Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de> --- common/log/StdoutLogger.cpp | 13 +++++++++---- common/log/StdoutLogger.hpp | 6 +++++- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/common/log/StdoutLogger.cpp b/common/log/StdoutLogger.cpp index 609a999683..f1fd77ebb5 100644 --- a/common/log/StdoutLogger.cpp +++ b/common/log/StdoutLogger.cpp @@ -23,8 +23,8 @@ namespace log { //------------------------------------------------------------------------------ // constructor //------------------------------------------------------------------------------ -StdoutLogger::StdoutLogger(const std::string &hostName, const std::string &programName): - Logger(hostName, programName, DEBUG) { +StdoutLogger::StdoutLogger(const std::string &hostName, const std::string &programName, bool simple): + Logger(hostName, programName, DEBUG), m_simple(simple) { } //------------------------------------------------------------------------------ @@ -42,8 +42,13 @@ void StdoutLogger::prepareForFork() {} // writeMsgToUnderlyingLoggingSystem //------------------------------------------------------------------------------ void StdoutLogger::writeMsgToUnderlyingLoggingSystem(const std::string &header, const std::string &body) { - const std::string headerPlusBody = header + body; - printf("%s\n", headerPlusBody.c_str()); + + if (m_simple) { + printf("%s\n", body.c_str()); + } else { + const std::string headerPlusBody = header + body; + printf("%s\n", headerPlusBody.c_str()); + } } } // namespace log diff --git a/common/log/StdoutLogger.hpp b/common/log/StdoutLogger.hpp index 76d9aa9ba1..3cf15763c2 100644 --- a/common/log/StdoutLogger.hpp +++ b/common/log/StdoutLogger.hpp @@ -34,8 +34,9 @@ public: * @param hostName The name of the host to be prepended to every log message. * @param programName The name of the program to be prepended to every log * message. + * @param simple If true, then logging header is not included. */ - StdoutLogger(const std::string &hostName, const std::string &programName); + StdoutLogger(const std::string &hostName, const std::string &programName, bool simple = false); /** * Destructor. @@ -69,6 +70,9 @@ protected: */ void writeMsgToUnderlyingLoggingSystem(const std::string &header, const std::string &body) override; +private: + bool m_simple; + }; // class StringLogger } // namespace log -- GitLab