diff options
author | Peter Bell <peterbell10@live.co.uk> | 2020-05-15 04:35:43 +0200 |
---|---|---|
committer | Tiger Wang <ziwei.tiger@outlook.com> | 2020-05-16 10:39:05 +0200 |
commit | 3189a3cbee8eb9d7ded7605776a75f35e5e2f122 (patch) | |
tree | 616ed3031baa99e1f34123b645c5b3cb6ed73223 /src/LoggerListeners.cpp | |
parent | Enable some more clang-tidy linter checks (#4738) (diff) | |
download | cuberite-3189a3cbee8eb9d7ded7605776a75f35e5e2f122.tar cuberite-3189a3cbee8eb9d7ded7605776a75f35e5e2f122.tar.gz cuberite-3189a3cbee8eb9d7ded7605776a75f35e5e2f122.tar.bz2 cuberite-3189a3cbee8eb9d7ded7605776a75f35e5e2f122.tar.lz cuberite-3189a3cbee8eb9d7ded7605776a75f35e5e2f122.tar.xz cuberite-3189a3cbee8eb9d7ded7605776a75f35e5e2f122.tar.zst cuberite-3189a3cbee8eb9d7ded7605776a75f35e5e2f122.zip |
Diffstat (limited to '')
-rw-r--r-- | src/LoggerListeners.cpp | 69 |
1 files changed, 35 insertions, 34 deletions
diff --git a/src/LoggerListeners.cpp b/src/LoggerListeners.cpp index 995cc4b20..24a4e5d45 100644 --- a/src/LoggerListeners.cpp +++ b/src/LoggerListeners.cpp @@ -15,13 +15,13 @@ { protected: - virtual void SetLogColour(cLogger::eLogLevel a_LogLevel) = 0; + virtual void SetLogColour(eLogLevel a_LogLevel) = 0; virtual void SetDefaultLogColour() = 0; - virtual void Log(AString a_Message, cLogger::eLogLevel a_LogLevel) override + virtual void Log(std::string_view a_Message, eLogLevel a_LogLevel) override { SetLogColour(a_LogLevel); - fputs(a_Message.c_str(), stdout); + fwrite(a_Message.data(), 1, a_Message.size(), stdout); SetDefaultLogColour(); } }; @@ -46,40 +46,40 @@ } #ifdef _DEBUG - virtual void Log(AString a_Message, cLogger::eLogLevel a_LogLevel) override + virtual void Log(std::string_view a_Message, eLogLevel a_LogLevel) override { Super::Log(a_Message, a_LogLevel); // In a Windows Debug build, output the log to debug console as well: - OutputDebugStringA(a_Message.c_str()); + OutputDebugStringA(AString(a_Message).c_str()); } #endif - virtual void SetLogColour(cLogger::eLogLevel a_LogLevel) override + virtual void SetLogColour(eLogLevel a_LogLevel) override { // by default, gray on black WORD Attrib = FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED; switch (a_LogLevel) { - case cLogger::llRegular: + case eLogLevel::Regular: { // Gray on black Attrib = FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED; break; } - case cLogger::llInfo: + case eLogLevel::Info: { // Yellow on black Attrib = FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_INTENSITY; break; } - case cLogger::llWarning: + case eLogLevel::Warning: { // Red on black Attrib = FOREGROUND_RED | FOREGROUND_INTENSITY; break; } - case cLogger::llError: + case eLogLevel::Error: { // Black on red Attrib = BACKGROUND_RED | BACKGROUND_INTENSITY; @@ -111,29 +111,29 @@ : public cColouredConsoleListener { public: - virtual void SetLogColour(cLogger::eLogLevel a_LogLevel) override + virtual void SetLogColour(eLogLevel a_LogLevel) override { switch (a_LogLevel) { - case cLogger::llRegular: + case eLogLevel::Regular: { // Whatever the console default is printf("\x1b[0m"); break; } - case cLogger::llInfo: + case eLogLevel::Info: { // Yellow on black printf("\x1b[33;1m"); break; } - case cLogger::llWarning: + case eLogLevel::Warning: { // Red on black printf("\x1b[31;1m"); break; } - case cLogger::llError: + case eLogLevel::Error: { // Yellow on red printf("\x1b[1;33;41;1m"); @@ -161,33 +161,32 @@ class cVanillaCPPConsoleListener : public cLogger::cListener { public: - virtual void Log(AString a_Message, cLogger::eLogLevel a_LogLevel) override + virtual void Log(std::string_view a_Message, eLogLevel a_LogLevel) override { - AString LogLevelString; switch (a_LogLevel) { - case cLogger::llRegular: + case eLogLevel::Regular: { - LogLevelString = "Log"; + fputs("Log: ", stdout); break; } - case cLogger::llInfo: + case eLogLevel::Info: { - LogLevelString = "Info"; + fputs("Info: ", stdout); break; } - case cLogger::llWarning: + case eLogLevel::Warning: { - LogLevelString = "Warning"; + fputs("Warning: ", stdout); break; } - case cLogger::llError: + case eLogLevel::Error: { - LogLevelString = "Error"; + fputs("Error: ", stdout); break; } } - printf("%s: %s", LogLevelString.c_str(), a_Message.c_str()); + fwrite(a_Message.data(), 1, a_Message.size(), stdout); } }; @@ -199,7 +198,7 @@ public: class cNullConsoleListener : public cLogger::cListener { - virtual void Log(AString a_Message, cLogger::eLogLevel a_LogLevel) override + virtual void Log(std::string_view a_Message, eLogLevel a_LogLevel) override { } }; @@ -275,36 +274,38 @@ public: return success; } - virtual void Log(AString a_Message, cLogger::eLogLevel a_LogLevel) override + virtual void Log(std::string_view a_Message, eLogLevel a_LogLevel) override { - const char * LogLevelPrefix = "Unkn "; + std::string_view LogLevelPrefix = "Unkn "; bool ShouldFlush = false; switch (a_LogLevel) { - case cLogger::llRegular: + case eLogLevel::Regular: { LogLevelPrefix = " "; break; } - case cLogger::llInfo: + case eLogLevel::Info: { LogLevelPrefix = "Info "; break; } - case cLogger::llWarning: + case eLogLevel::Warning: { LogLevelPrefix = "Warn "; ShouldFlush = true; break; } - case cLogger::llError: + case eLogLevel::Error: { LogLevelPrefix = "Err "; ShouldFlush = true; break; } } - m_File.Printf("%s%s", LogLevelPrefix, a_Message.c_str()); + m_File.Write(LogLevelPrefix); + m_File.Write(a_Message); + if (ShouldFlush) { m_File.Flush(); |