1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Add chat_log_level setting (#9223)

Log all higher levels in LogOutputBuffer
Move StreamLogOutput::logRaw to source file like LogOutputBuffer::logRaw for compiling speed
This commit is contained in:
SmallJoker 2020-05-14 19:26:15 +02:00 committed by GitHub
parent 2d7e000cfe
commit 836dd4a1e4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 95 additions and 51 deletions

View file

@ -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();
}