18 #ifndef itkThreadLogger_h
19 #define itkThreadLogger_h
75 SetPriorityLevel(PriorityLevelEnum level)
override;
81 GetPriorityLevel()
const override;
84 SetLevelForFlushing(PriorityLevelEnum level)
override;
87 GetLevelForFlushing()
const override;
93 SetDelay(DelayType delay);
103 AddLogOutput(OutputType * output)
override;
106 Write(PriorityLevelEnum level,
const std::string & content)
override;
120 PrintSelf(std::ostream & os,
Indent indent)
const override;
129 std::thread m_Thread{};
131 std::atomic<bool> m_TerminationRequested{};
133 std::queue<OperationType> m_OperationQ{};
135 std::queue<std::string> m_MessageQ{};
137 std::queue<PriorityLevelEnum> m_LevelQ{};
139 std::queue<OutputType::Pointer> m_OutputQ{};
141 mutable std::mutex m_Mutex{};
148 #endif // itkThreadLogger_h