[deploy] update Logger

This commit is contained in:
Nomango 2020-07-20 10:50:55 +08:00
parent d6f949d502
commit f560a78fc8
2 changed files with 13 additions and 13 deletions

View File

@ -85,7 +85,7 @@ void LogProvider::Init() {}
void LogProvider::Flush() {}
void LogProvider::Write(LogLevel level, LogBuffer* msg)
void LogProvider::Write(LogLevel level, const char* msg)
{
if (level < level_)
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)
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>;
#if defined(KGE_PLATFORM_WINDOWS)
::OutputDebugStringA(msg->GetRaw());
::OutputDebugStringA(msg);
#endif
}
@ -260,7 +260,7 @@ FileLogProvider::~FileLogProvider()
void FileLogProvider::Init() {}
void FileLogProvider::WriteMessage(LogLevel level, LogBuffer* msg)
void FileLogProvider::WriteMessage(LogLevel level, const char* msg)
{
if (ofs_)
{
@ -509,8 +509,6 @@ Logger::Logger()
std::iostream& Logger::GetFormatedStream(LogLevel level, LogBuffer* buffer)
{
std::lock_guard<std::mutex> lock(mutex_);
// reset buffer
buffer->Reset();
@ -536,6 +534,8 @@ void Logger::Logf(LogLevel level, const char* format, ...)
if (level < level_)
return;
std::lock_guard<std::mutex> lock(mutex_);
va_list args = nullptr;
va_start(args, format);
@ -586,8 +586,6 @@ void Logger::ResizeBuffer(size_t buffer_size)
void Logger::WriteToProviders(LogLevel level, LogBuffer* buffer)
{
std::lock_guard<std::mutex> lock(mutex_);
// format footer
if (formater_)
{
@ -598,7 +596,7 @@ void Logger::WriteToProviders(LogLevel level, LogBuffer* buffer)
for (auto provider : providers_)
{
buffer->pubseekpos(0, std::ios_base::in);
provider->Write(level, buffer);
provider->Write(level, buffer->GetRaw());
}
}

View File

@ -155,14 +155,14 @@ public:
virtual void Flush();
void Write(LogLevel level, LogBuffer* msg);
void Write(LogLevel level, const char* msg);
void SetLevel(LogLevel level);
protected:
LogProvider();
virtual void WriteMessage(LogLevel level, LogBuffer* msg) = 0;
virtual void WriteMessage(LogLevel level, const char* msg) = 0;
protected:
LogLevel level_;
@ -184,7 +184,7 @@ public:
void Flush() override;
protected:
void WriteMessage(LogLevel level, LogBuffer* msg) override;
void WriteMessage(LogLevel level, const char* msg) override;
private:
typedef std::ostream&(*ConsoleColor)(std::ostream&);
@ -208,7 +208,7 @@ public:
void Flush() override;
protected:
void WriteMessage(LogLevel level, LogBuffer* msg) override;
void WriteMessage(LogLevel level, const char* msg) override;
private:
std::ofstream ofs_;
@ -319,6 +319,8 @@ inline void Logger::Log(LogLevel level, _Args&&... args)
if (level < level_)
return;
std::lock_guard<std::mutex> lock(mutex_);
// build message
auto& stream = this->GetFormatedStream(level, &this->buffer_);
(void)std::initializer_list<int>{ ((stream << ' ' << args), 0)... };