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();
112 virtual
void PrintSelf(
std::ostream & os,
Indent indent) const ITK_OVERRIDE;
118 void InternalFlush();
128 MultiThreader::Pointer m_Threader;
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
Logger::PriorityLevelType PriorityLevelType
SmartPointer< Self > Pointer
Providing logging service as a separate thread.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
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.