Skip to content
Extraits de code Groupes Projets
Vérifiée Valider 8c34952f rédigé par Kubat's avatar Kubat
Parcourir les fichiers

MISC: Separate implementation of the different classes of Log.hh into multiple...

MISC: Separate implementation of the different classes of Log.hh into multiple namespace Vivy{} in the Log.cc file
parent 3592c012
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!21Add clean logs support + dependent MR
#include "Log.hh"
using namespace Vivy;
// Vivy::LogSinkDispatcher and child classes implementation
namespace Vivy
{
LogSinkDispatcher::~LogSinkDispatcher() noexcept {}
LogSink::~LogSink() noexcept {}
Logger::~Logger() noexcept { parentLogSink->closeLoggerClients(); }
LogMessage::~LogMessage() noexcept { parentLogger->sendLogMessage(*this); }
const std::string_view
LogSinkDispatcher::getDispatcherName() const noexcept
{
return dispatcherName;
}
const chrono::milliseconds
LogMessage::getTimeStamp() const noexcept
{
return timeStamp;
}
LogMessage::Header const &
LogMessage::getHeader() const noexcept
// Vivy::LogSink implementation
namespace Vivy
{
return messageHeader;
}
const std::string_view
LogMessage::getTextBuffer() const noexcept
{
const char *txt = textBuffer.data();
return std::string_view{ txt, strlen(txt) };
}
void
Logger::sendLogMessage(const LogMessage &msg) const noexcept
{
parentLogSink->recieveLogMessage(this, msg);
}
const std::string_view
Logger::getCategoryView() const noexcept
{
return std::string_view{ logCategory };
}
LogSink::~LogSink() noexcept {}
// Get the log message from the logger and add it to the sink's queue.
void
......@@ -113,6 +86,22 @@ LogSink::getLogDispatcher(const std::string_view name) const
return ptr->getDispatcherName() == name;
});
}
}
// Vivy::Logger implementation
namespace Vivy
{
void
Logger::sendLogMessage(const LogMessage &msg) const noexcept
{
parentLogSink->recieveLogMessage(this, msg);
}
const std::string_view
Logger::getCategoryView() const noexcept
{
return std::string_view{ logCategory };
}
LogMessage
Logger::logEvent(const char *fileName, const char *functionName, const int lineNumber,
......@@ -124,6 +113,12 @@ Logger::logEvent(const char *fileName, const char *functionName, const int lineN
.lineNumberInFile = lineNumber });
}
Logger::~Logger() noexcept { parentLogSink->closeLoggerClients(); }
}
// Vivy::LogMessage implementation
namespace Vivy
{
LogMessage::LogMessage(Logger *const logger, const LogMessage::Header hdr) noexcept
: messageHeader(hdr)
, parentLogger(logger)
......@@ -165,3 +160,25 @@ LogMessage::operator<<(const char *str) noexcept
textBuffer[indexInArray] = '\0';
return *this;
}
const chrono::milliseconds
LogMessage::getTimeStamp() const noexcept
{
return timeStamp;
}
LogMessage::Header const &
LogMessage::getHeader() const noexcept
{
return messageHeader;
}
const std::string_view
LogMessage::getTextBuffer() const noexcept
{
const char *txt = textBuffer.data();
return std::string_view{ txt, strlen(txt) };
}
LogMessage::~LogMessage() noexcept { parentLogger->sendLogMessage(*this); }
}
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter