flush in logger

This commit is contained in:
Denis Ivaykin 2015-05-09 13:24:01 +02:00
parent 849b5cb84e
commit 63e0012e34
5 changed files with 9 additions and 3 deletions

View File

@ -312,4 +312,8 @@ inline void spdlog::logger::_set_formatter(formatter_ptr msg_formatter)
_formatter = msg_formatter; _formatter = msg_formatter;
} }
inline void spdlog::logger::flush() {
for (auto& sink : _sinks) {
sink->flush();
}
}

View File

@ -107,6 +107,7 @@ public:
void set_pattern(const std::string&); void set_pattern(const std::string&);
void set_formatter(formatter_ptr); void set_formatter(formatter_ptr);
void flush();
protected: protected:
virtual void _log_msg(details::log_msg&); virtual void _log_msg(details::log_msg&);

View File

@ -58,8 +58,6 @@ public:
_sink_it(msg); _sink_it(msg);
} }
virtual void flush() = 0;
protected: protected:
virtual void _sink_it(const details::log_msg& msg) = 0; virtual void _sink_it(const details::log_msg& msg) = 0;
Mutex _mutex; Mutex _mutex;

View File

@ -35,6 +35,7 @@ class sink
public: public:
virtual ~sink() {} virtual ~sink() {}
virtual void log(const details::log_msg& msg) = 0; virtual void log(const details::log_msg& msg) = 0;
virtual void flush() = 0;
}; };
} }
} }

View File

@ -78,6 +78,8 @@ public:
::syslog(syslog_prio_from_level(msg), "%s", msg.formatted.str().c_str()); ::syslog(syslog_prio_from_level(msg), "%s", msg.formatted.str().c_str());
} }
virtual void flush() override {
}
private: private: