12#include "MantidKernel/DllConfig.h"
14#include <Poco/LogStream.h>
15#include <Poco/Message.h>
16#include <Poco/Thread.h>
46 using Poco::LogStreamBuf::overflow;
47 void accumulate(
const std::string &message);
52 int writeToDevice(
char c)
override;
75 Poco::LogStreamBuf *rdbuf();
100 ThreadSafeLogStream(Poco::Logger &logger, Poco::Message::Priority priority = Poco::Message::PRIO_INFORMATION);
105 Poco::Message::Priority priority = Poco::Message::PRIO_INFORMATION);
The base class for ThreadSafeLogStream.
ThreadSafeLogStreamBuf m_buf
The log stream buffer object.
This class implements a threadsafe version of the POCO buffer interface to a Logger's stream object.
std::map< Poco::Thread::TID, std::string > m_messages
Store a map of thread indices to messages.
std::map< Poco::Thread::TID, std::string > m_accumulator
Store a map of thread indices to accummulators of messages.
std::mutex m_mutex
mutex protecting logstream
The main log stream class implementing an ostream interface to a Logger.
Helper class which provides the Collimation Length for SANS instruments.