40 virtual void Consume(
const std::string&) = 0;
48 void Consume(
const std::string& s)
override 50 std::cout << s << std::endl;
70 for (
auto sink : m_LogSinks)
74 sink->Consume(m_Os.str());
86 template<
typename Streamable>
97 const std::vector<std::shared_ptr<LogSink>>& m_LogSinks;
98 std::ostringstream m_Os;
102 template<LogSeverity Level>
107 : m_Sinks{std::make_shared<StandardOutputSink>()}
136 m_Sinks.push_back(sink);
139 std::vector<std::shared_ptr<LogSink>> m_Sinks;
163 #define ARMNN_LOG(severity) \ 164 armnn::SimpleLogger<ConvertLogSeverity(armnn::BoostLogSeverityMapping::severity)>::Get().StartNewRecord() void Enable(bool enable=true)
ScopedRecord StartNewRecord()
void Consume(const std::string &s) override
void AddSink(std::shared_ptr< LogSink > sink)
ScopedRecord & operator<<(const Streamable &s)
virtual void Consume(const std::string &)=0
void SetLogFilter(LogSeverity level)
std::string LevelToString(LogSeverity level)
constexpr LogSeverity ConvertLogSeverity(BoostLogSeverityMapping severity)
void SetAllLoggingSinks(bool standardOut, bool debugOut, bool coloured)
static SimpleLogger & Get()
ScopedRecord(const std::vector< std::shared_ptr< LogSink >> &sinks, LogSeverity level, bool enabled)