Sélectionner une révision Git
Log.cc 1,74 Kio
#include "Log.hh"
using namespace Vivy;
LogSink::~LogSink() noexcept {}
LogMessage::~LogMessage() noexcept { parentLogger->sendLogMessage(*this); }
std::shared_ptr<LogSink>
LogSink::newSink() noexcept
{
struct makeSharedEnabler : public LogSink {
// NOTE: For make_shared with private CTor
};
return std::make_shared<makeSharedEnabler>();
}
void
LogSink::closeLoggerClient(Logger *const logger) noexcept
{
clientLoggers.erase(std::remove_if(std::begin(clientLoggers), std::end(clientLoggers),
[logger](const std::shared_ptr<Logger> &ptr) {
return ptr.get() == logger;
}));
}
void
LogSink::closeLoggerClient(const std::shared_ptr<Logger> &ptr) noexcept
{
closeLoggerClient(ptr.get());
}
LogMessage
Logger::logEvent(const char *fileName, const char *functionName, const int lineNumber,
const LogLevel logSeverity) noexcept
{
return LogMessage(this, LogMessage::Header{ .fileName = fileName,
.functionName = functionName,
.severity = logSeverity,
.lineNumberInFile = lineNumber });
}
void
Logger::sendLogMessage(const LogMessage &msg) const noexcept
{
}
LogMessage::LogMessage(Logger *const logger, const LogMessage::Header hdr) noexcept
: messageHeader(hdr)
, parentLogger(logger)
{
}
LogMessage &
LogMessage::operator<<(const std::string &) noexcept
{
return *this;
}
LogMessage &
LogMessage::operator<<(const int) noexcept
{
return *this;
}
LogMessage &
LogMessage::operator<<(const long) noexcept
{
return *this;
}