[deploy] update Logger
This commit is contained in:
parent
d6f949d502
commit
f560a78fc8
|
|
@ -85,7 +85,7 @@ void LogProvider::Init() {}
|
||||||
|
|
||||||
void LogProvider::Flush() {}
|
void LogProvider::Flush() {}
|
||||||
|
|
||||||
void LogProvider::Write(LogLevel level, LogBuffer* msg)
|
void LogProvider::Write(LogLevel level, const char* msg)
|
||||||
{
|
{
|
||||||
if (level < level_)
|
if (level < level_)
|
||||||
return;
|
return;
|
||||||
|
|
@ -209,7 +209,7 @@ void ConsoleLogProvider::Init()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConsoleLogProvider::WriteMessage(LogLevel level, LogBuffer* msg)
|
void ConsoleLogProvider::WriteMessage(LogLevel level, const char* msg)
|
||||||
{
|
{
|
||||||
if (level != LogLevel::Error)
|
if (level != LogLevel::Error)
|
||||||
std::cout << GetColor(level) << msg << std::flush << ConsoleColorBrush<-1>;
|
std::cout << GetColor(level) << msg << std::flush << ConsoleColorBrush<-1>;
|
||||||
|
|
@ -217,7 +217,7 @@ void ConsoleLogProvider::WriteMessage(LogLevel level, LogBuffer* msg)
|
||||||
std::cerr << GetColor(level) << msg << ConsoleColorBrush<-1>;
|
std::cerr << GetColor(level) << msg << ConsoleColorBrush<-1>;
|
||||||
|
|
||||||
#if defined(KGE_PLATFORM_WINDOWS)
|
#if defined(KGE_PLATFORM_WINDOWS)
|
||||||
::OutputDebugStringA(msg->GetRaw());
|
::OutputDebugStringA(msg);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -260,7 +260,7 @@ FileLogProvider::~FileLogProvider()
|
||||||
|
|
||||||
void FileLogProvider::Init() {}
|
void FileLogProvider::Init() {}
|
||||||
|
|
||||||
void FileLogProvider::WriteMessage(LogLevel level, LogBuffer* msg)
|
void FileLogProvider::WriteMessage(LogLevel level, const char* msg)
|
||||||
{
|
{
|
||||||
if (ofs_)
|
if (ofs_)
|
||||||
{
|
{
|
||||||
|
|
@ -509,8 +509,6 @@ Logger::Logger()
|
||||||
|
|
||||||
std::iostream& Logger::GetFormatedStream(LogLevel level, LogBuffer* buffer)
|
std::iostream& Logger::GetFormatedStream(LogLevel level, LogBuffer* buffer)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> lock(mutex_);
|
|
||||||
|
|
||||||
// reset buffer
|
// reset buffer
|
||||||
buffer->Reset();
|
buffer->Reset();
|
||||||
|
|
||||||
|
|
@ -536,6 +534,8 @@ void Logger::Logf(LogLevel level, const char* format, ...)
|
||||||
if (level < level_)
|
if (level < level_)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
std::lock_guard<std::mutex> lock(mutex_);
|
||||||
|
|
||||||
va_list args = nullptr;
|
va_list args = nullptr;
|
||||||
va_start(args, format);
|
va_start(args, format);
|
||||||
|
|
||||||
|
|
@ -586,8 +586,6 @@ void Logger::ResizeBuffer(size_t buffer_size)
|
||||||
|
|
||||||
void Logger::WriteToProviders(LogLevel level, LogBuffer* buffer)
|
void Logger::WriteToProviders(LogLevel level, LogBuffer* buffer)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> lock(mutex_);
|
|
||||||
|
|
||||||
// format footer
|
// format footer
|
||||||
if (formater_)
|
if (formater_)
|
||||||
{
|
{
|
||||||
|
|
@ -598,7 +596,7 @@ void Logger::WriteToProviders(LogLevel level, LogBuffer* buffer)
|
||||||
for (auto provider : providers_)
|
for (auto provider : providers_)
|
||||||
{
|
{
|
||||||
buffer->pubseekpos(0, std::ios_base::in);
|
buffer->pubseekpos(0, std::ios_base::in);
|
||||||
provider->Write(level, buffer);
|
provider->Write(level, buffer->GetRaw());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -155,14 +155,14 @@ public:
|
||||||
|
|
||||||
virtual void Flush();
|
virtual void Flush();
|
||||||
|
|
||||||
void Write(LogLevel level, LogBuffer* msg);
|
void Write(LogLevel level, const char* msg);
|
||||||
|
|
||||||
void SetLevel(LogLevel level);
|
void SetLevel(LogLevel level);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
LogProvider();
|
LogProvider();
|
||||||
|
|
||||||
virtual void WriteMessage(LogLevel level, LogBuffer* msg) = 0;
|
virtual void WriteMessage(LogLevel level, const char* msg) = 0;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
LogLevel level_;
|
LogLevel level_;
|
||||||
|
|
@ -184,7 +184,7 @@ public:
|
||||||
void Flush() override;
|
void Flush() override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void WriteMessage(LogLevel level, LogBuffer* msg) override;
|
void WriteMessage(LogLevel level, const char* msg) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
typedef std::ostream&(*ConsoleColor)(std::ostream&);
|
typedef std::ostream&(*ConsoleColor)(std::ostream&);
|
||||||
|
|
@ -208,7 +208,7 @@ public:
|
||||||
void Flush() override;
|
void Flush() override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void WriteMessage(LogLevel level, LogBuffer* msg) override;
|
void WriteMessage(LogLevel level, const char* msg) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::ofstream ofs_;
|
std::ofstream ofs_;
|
||||||
|
|
@ -319,6 +319,8 @@ inline void Logger::Log(LogLevel level, _Args&&... args)
|
||||||
if (level < level_)
|
if (level < level_)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
std::lock_guard<std::mutex> lock(mutex_);
|
||||||
|
|
||||||
// build message
|
// build message
|
||||||
auto& stream = this->GetFormatedStream(level, &this->buffer_);
|
auto& stream = this->GetFormatedStream(level, &this->buffer_);
|
||||||
(void)std::initializer_list<int>{ ((stream << ' ' << args), 0)... };
|
(void)std::initializer_list<int>{ ((stream << ' ' << args), 0)... };
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue