From eff3b4508991a922dd6649cbc0a6240b7b479abc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20L=C3=BChne?= Date: Thu, 24 Nov 2016 13:54:40 +0100 Subject: [PATCH] Added Logger constructors to write output to arbitrary streams. --- include/anthem/output/Logger.h | 4 +++- src/anthem/output/Logger.cpp | 18 ++++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/include/anthem/output/Logger.h b/include/anthem/output/Logger.h index fd54482..747cb25 100644 --- a/include/anthem/output/Logger.h +++ b/include/anthem/output/Logger.h @@ -21,7 +21,9 @@ namespace output class Logger { public: - Logger(); + explicit Logger(); + explicit Logger(ColorStream &&outputStream); + explicit Logger(ColorStream &&outputStream, ColorStream &&errorStream); ColorStream &outputStream(); ColorStream &errorStream(); diff --git a/src/anthem/output/Logger.cpp b/src/anthem/output/Logger.cpp index be942d2..0160204 100644 --- a/src/anthem/output/Logger.cpp +++ b/src/anthem/output/Logger.cpp @@ -60,8 +60,22 @@ constexpr const Format LocationFormat = {Color::White, FontWeight::Bold}; //////////////////////////////////////////////////////////////////////////////////////////////////// Logger::Logger() -: m_outputStream{std::cout}, - m_errorStream{std::cerr}, +: Logger(std::cout, std::cerr) +{ +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +Logger::Logger(ColorStream &&outputStream) +: Logger(std::forward(outputStream), std::cerr) +{ +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +Logger::Logger(ColorStream &&outputStream, ColorStream &&errorStream) +: m_outputStream{outputStream}, + m_errorStream{errorStream}, m_outputPriority{Priority::Warning} { }