From 8b23c5f125140efcdd97912d4b2df20531b0a557 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Thu, 2 Nov 2017 12:46:35 +0000 Subject: Adding logging system --- yage/core/logmessage.cpp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 yage/core/logmessage.cpp (limited to 'yage/core/logmessage.cpp') diff --git a/yage/core/logmessage.cpp b/yage/core/logmessage.cpp new file mode 100644 index 00000000..aa512042 --- /dev/null +++ b/yage/core/logmessage.cpp @@ -0,0 +1,32 @@ +/* ---------------------------------------------------------------------------- + * logmessage.cpp + * + * Copyright (c) 2017 Yann Herklotz Grave -- MIT License + * See file LICENSE for more details + * ---------------------------------------------------------------------------- + */ + +#include "logmessage.h" +#include "logger.h" + +namespace yage +{ + +LogMessage::LogMessage(Logger *owner) : owner_(owner) {} + +LogMessage::LogMessage(LogMessage &&msg) : owner_(std::move(msg.owner_)) {} + +LogMessage::~LogMessage() +{ + if (owner_ != nullptr) { + owner_->flush(*this); + } +} + +LogMessage &LogMessage::operator<<(std::ostream &(*fn)(std::ostream &os)) +{ + fn(buffer_); + return *this; +} + +} // namespace yage -- cgit