aboutsummaryrefslogtreecommitdiff
path: root/src/log.h
diff options
context:
space:
mode:
authorElias Fleckenstein <eliasfleckenstein@web.de>2020-07-18 13:53:15 +0200
committerElias Fleckenstein <eliasfleckenstein@web.de>2020-07-18 13:53:15 +0200
commitffe3c2ae0db6fed0f2b08b71bfa69f3d3df3bb1f (patch)
treecc7d9f74a43215c5d8e3965a2bfc2aea5867a7a0 /src/log.h
parent45aa2516b2fc675df7049bc9ed713600c95b6423 (diff)
parent82731d0d3d8bfe9e56f89466991f13c037f3a61e (diff)
downloaddragonfireclient-ffe3c2ae0db6fed0f2b08b71bfa69f3d3df3bb1f.tar.xz
Update to minetest 5.4.0-dev
Diffstat (limited to 'src/log.h')
-rw-r--r--src/log.h52
1 files changed, 12 insertions, 40 deletions
diff --git a/src/log.h b/src/log.h
index 6350d8a86..856d3479b 100644
--- a/src/log.h
+++ b/src/log.h
@@ -124,39 +124,7 @@ public:
#endif
}
- void logRaw(LogLevel lev, const std::string &line)
- {
- bool colored_message = (Logger::color_mode == LOG_COLOR_ALWAYS) ||
- (Logger::color_mode == LOG_COLOR_AUTO && is_tty);
- if (colored_message)
- switch (lev) {
- case LL_ERROR:
- // error is red
- m_stream << "\033[91m";
- break;
- case LL_WARNING:
- // warning is yellow
- m_stream << "\033[93m";
- break;
- case LL_INFO:
- // info is a bit dark
- m_stream << "\033[37m";
- break;
- case LL_VERBOSE:
- // verbose is darker than info
- m_stream << "\033[2m";
- break;
- default:
- // action is white
- colored_message = false;
- }
-
- m_stream << line << std::endl;
-
- if (colored_message)
- // reset to white color
- m_stream << "\033[0m";
- }
+ void logRaw(LogLevel lev, const std::string &line);
private:
std::ostream &m_stream;
@@ -178,23 +146,27 @@ private:
class LogOutputBuffer : public ICombinedLogOutput {
public:
- LogOutputBuffer(Logger &logger, LogLevel lev) :
+ LogOutputBuffer(Logger &logger) :
m_logger(logger)
{
- m_logger.addOutput(this, lev);
- }
+ updateLogLevel();
+ };
- ~LogOutputBuffer()
+ virtual ~LogOutputBuffer()
{
m_logger.removeOutput(this);
}
- void logRaw(LogLevel lev, const std::string &line)
+ void updateLogLevel();
+
+ void logRaw(LogLevel lev, const std::string &line);
+
+ void clear()
{
- m_buffer.push(line);
+ m_buffer = std::queue<std::string>();
}
- bool empty()
+ bool empty() const
{
return m_buffer.empty();
}