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:
parent
2d7e000cfe
commit
836dd4a1e4
5 changed files with 95 additions and 51 deletions
52
src/log.h
52
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();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue