18 #ifndef itkThreadLogger_h
19 #define itkThreadLogger_h
75 virtual void SetPriorityLevel(PriorityLevelType level) ITK_OVERRIDE;
80 virtual PriorityLevelType GetPriorityLevel() const ITK_OVERRIDE;
82 virtual
void SetLevelForFlushing(PriorityLevelType level) ITK_OVERRIDE;
84 virtual PriorityLevelType GetLevelForFlushing() const ITK_OVERRIDE;
89 virtual
void SetDelay(DelayType delay);
94 virtual DelayType GetDelay() const;
97 virtual
void AddLogOutput(OutputType *output) ITK_OVERRIDE;
99 virtual
void Write(PriorityLevelType level, std::
string const & content) ITK_OVERRIDE;
101 virtual
void Flush() ITK_OVERRIDE;
109 virtual ~ThreadLogger() ITK_OVERRIDE;
112 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
118 void InternalFlush();
132 OperationContainerType m_OperationQ;
134 MessageContainerType m_MessageQ;
136 LevelContainerType m_LevelQ;
138 OutputContainerType m_OutputQ;
147 #endif // itkThreadLogger_h
Critical section locking class that can be allocated on the stack.
Logger::OutputType OutputType
Light weight base class for most itk classes.
Logger::PriorityLevelType PriorityLevelType
SmartPointer< Self > Pointer
Represents an output stream.
Providing logging service as a separate thread.
std::queue< OperationType > OperationContainerType
MultipleLogOutput::OutputType OutputType
#define ITK_THREAD_RETURN_TYPE
unsigned int ThreadIdType
std::queue< std::string > MessageContainerType
Control indentation during Print() invocation.
std::queue< PriorityLevelType > LevelContainerType
std::queue< OutputType::Pointer > OutputContainerType
SmartPointer< const Self > ConstPointer
Used for logging information during a run.