18 #ifndef itkLoggerThreadWrapper_h
19 #define itkLoggerThreadWrapper_h
39 template<
typename SimpleLoggerType >
55 typedef typename SimpleLoggerType::OutputType
OutputType;
96 virtual
void Flush() ITK_OVERRIDE;
104 virtual ~LoggerThreadWrapper();
107 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
140 #ifndef ITK_MANUAL_INSTANTIATION
141 #include "itkLoggerThreadWrapper.hxx"
144 #endif // itkLoggerThreadWrapper_h
Critical section locking class that can be allocated on the stack.
virtual PriorityLevelType GetPriorityLevel() const override
SmartPointer< Self > Pointer
std::queue< typename OutputType::Pointer > OutputContainerType
OutputContainerType m_OutputQ
Used for providing logging service as a separate thread.
virtual void Flush() override
virtual void Write(PriorityLevelType level, std::string const &content) override
virtual void PrintSelf(std::ostream &os, Indent indent) const override
virtual void SetLevelForFlushing(PriorityLevelType level) override
#define ITK_THREAD_RETURN_TYPE
SmartPointer< const Self > ConstPointer
virtual DelayType GetDelay() const
std::queue< PriorityLevelType > LevelContainerType
LevelContainerType m_LevelQ
SimpleFastMutexLock m_Mutex
static ITK_THREAD_RETURN_TYPE ThreadFunction(void *)
MultiThreader::Pointer m_Threader
virtual void SetDelay(DelayType delay)
virtual PriorityLevelType GetLevelForFlushing() const override
unsigned int ThreadIdType
OperationContainerType m_OperationQ
std::queue< std::string > MessageContainerType
SimpleLoggerType::PriorityLevelType PriorityLevelType
std::queue< OperationType > OperationContainerType
SimpleLoggerType Superclass
virtual void AddLogOutput(OutputType *output) override
Control indentation during Print() invocation.
MessageContainerType m_MessageQ
SimpleLoggerType::OutputType OutputType
virtual void SetPriorityLevel(PriorityLevelType level) override