[deploy] LogProvider supports filter by log level
This commit is contained in:
parent
d1c90ed4b0
commit
caaa86915d
|
|
@ -74,8 +74,30 @@ public:
|
|||
//
|
||||
// LogProvider
|
||||
//
|
||||
LogProvider::LogProvider()
|
||||
: level_(LogLevel::Debug)
|
||||
{
|
||||
}
|
||||
|
||||
LogProvider::~LogProvider() {}
|
||||
|
||||
void LogProvider::Init() {}
|
||||
|
||||
void LogProvider::Flush() {}
|
||||
|
||||
void LogProvider::Write(LogLevel level, LogBuffer* msg)
|
||||
{
|
||||
if (level < level_)
|
||||
return;
|
||||
|
||||
this->WriteMessage(level, msg);
|
||||
}
|
||||
|
||||
void LogProvider::SetLevel(LogLevel level)
|
||||
{
|
||||
level_ = level;
|
||||
}
|
||||
|
||||
#if defined(KGE_PLATFORM_WINDOWS)
|
||||
void SetWindowConsoleColor(std::ostream& os, int foreground, int background)
|
||||
{
|
||||
|
|
@ -566,7 +588,7 @@ void Logger::Write(LogLevel level, std::streambuf* raw_msg)
|
|||
for (auto provider : providers_)
|
||||
{
|
||||
buffer_.pubseekpos(0, std::ios_base::in);
|
||||
provider->WriteMessage(level, &buffer_);
|
||||
provider->Write(level, &buffer_);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -149,11 +149,21 @@ class KGE_API LogProvider : public ObjectBase
|
|||
public:
|
||||
virtual ~LogProvider();
|
||||
|
||||
virtual void Init() = 0;
|
||||
virtual void Init();
|
||||
|
||||
virtual void Flush();
|
||||
|
||||
void Write(LogLevel level, LogBuffer* msg);
|
||||
|
||||
void SetLevel(LogLevel level);
|
||||
|
||||
protected:
|
||||
LogProvider();
|
||||
|
||||
virtual void WriteMessage(LogLevel level, LogBuffer* msg) = 0;
|
||||
|
||||
virtual void Flush() = 0;
|
||||
protected:
|
||||
LogLevel level_;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -169,10 +179,11 @@ public:
|
|||
|
||||
void Init() override;
|
||||
|
||||
void WriteMessage(LogLevel level, LogBuffer* msg) override;
|
||||
|
||||
void Flush() override;
|
||||
|
||||
protected:
|
||||
void WriteMessage(LogLevel level, LogBuffer* msg) override;
|
||||
|
||||
private:
|
||||
typedef std::ostream&(*ConsoleColor)(std::ostream&);
|
||||
|
||||
|
|
@ -192,10 +203,11 @@ public:
|
|||
|
||||
void Init() override;
|
||||
|
||||
void WriteMessage(LogLevel level, LogBuffer* msg) override;
|
||||
|
||||
void Flush() override;
|
||||
|
||||
protected:
|
||||
void WriteMessage(LogLevel level, LogBuffer* msg) override;
|
||||
|
||||
private:
|
||||
std::ofstream ofs_;
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue