18 #ifndef itkLoggerThreadWrapper_h
19 #define itkLoggerThreadWrapper_h
40 template<
typename SimpleLoggerType >
56 using OutputType =
typename SimpleLoggerType::OutputType;
71 void SetPriorityLevel(PriorityLevelType level)
override;
76 PriorityLevelType GetPriorityLevel()
const override;
78 void SetLevelForFlushing(PriorityLevelType level)
override;
80 PriorityLevelType GetLevelForFlushing()
const override;
85 virtual void SetDelay(DelayType delay);
90 virtual DelayType GetDelay()
const;
93 void AddLogOutput(OutputType *output)
override;
95 void Write(PriorityLevelType level, std::string
const & content)
override;
97 void Flush()
override;
108 void PrintSelf(std::ostream & os,
Indent indent)
const override;
110 void ThreadFunction();
141 #ifndef ITK_MANUAL_INSTANTIATION
142 #include "itkLoggerThreadWrapper.hxx"
145 #endif // itkLoggerThreadWrapper_h
std::queue< PriorityLevelType > LevelContainerType
OutputContainerType m_OutputQ
Used for providing logging service as a separate thread.
typename SimpleLoggerType::OutputType OutputType
std::queue< std::string > MessageContainerType
LevelContainerType m_LevelQ
std::queue< typename OutputType::Pointer > OutputContainerType
typename SimpleLoggerType::PriorityLevelType PriorityLevelType
bool m_TerminationRequested
OperationContainerType m_OperationQ
std::queue< OperationType > OperationContainerType
SimpleLoggerType Superclass
Control indentation during Print() invocation.
MessageContainerType m_MessageQ