diff --git a/beast/utility/Journal.h b/beast/utility/Journal.h index e262d98a45..e3d7df3fd2 100644 --- a/beast/utility/Journal.h +++ b/beast/utility/Journal.h @@ -110,6 +110,8 @@ public: } private: + void init (); + ScopedStream& operator= (ScopedStream const&); // disallowed Sink& m_sink; diff --git a/beast/utility/impl/Journal.cpp b/beast/utility/impl/Journal.cpp index 868e5ad64d..88ed3dd477 100644 --- a/beast/utility/impl/Journal.cpp +++ b/beast/utility/impl/Journal.cpp @@ -65,18 +65,21 @@ Journal::ScopedStream::ScopedStream (Stream const& stream) : m_sink (stream.sink()) , m_severity (stream.severity()) { + init (); } Journal::ScopedStream::ScopedStream (ScopedStream const& other) : m_sink (other.m_sink) , m_severity (other.m_severity) { + init (); } Journal::ScopedStream::ScopedStream (Stream const& stream, std::ostream& manip (std::ostream&)) : m_sink (stream.sink()) , m_severity (stream.severity()) { + init (); m_ostream << manip; } @@ -89,6 +92,17 @@ Journal::ScopedStream::~ScopedStream () } } +void Journal::ScopedStream::init () +{ + // Modifiers applied from all ctors + m_ostream + << std::boolalpha + << std::showbase + //<< std::hex + ; + +} + std::ostream& Journal::ScopedStream::operator<< (std::ostream& manip (std::ostream&)) const { return m_ostream << manip;