Commit d45fc34c authored by Gabi Melman's avatar Gabi Melman

Merge pull request #90 from divaykin/sink-flush

explicit flush()
parents 06e0b038 63e0012e
......@@ -87,6 +87,10 @@ public:
}
void flush() {
std::fflush(_fd);
}
void close()
{
if (_fd)
......
......@@ -312,4 +312,8 @@ inline void spdlog::logger::_set_formatter(formatter_ptr msg_formatter)
_formatter = msg_formatter;
}
inline void spdlog::logger::flush() {
for (auto& sink : _sinks) {
sink->flush();
}
}
\ No newline at end of file
......@@ -107,6 +107,7 @@ public:
void set_pattern(const std::string&);
void set_formatter(formatter_ptr);
void flush();
protected:
virtual void _log_msg(details::log_msg&);
......
......@@ -58,7 +58,6 @@ public:
_sink_it(msg);
}
protected:
virtual void _sink_it(const details::log_msg& msg) = 0;
Mutex _mutex;
......
......@@ -80,6 +80,10 @@ public:
_file_helper.open(calc_filename(_base_filename, 0, _extension));
}
virtual void flush() override {
_file_helper.flush();
}
protected:
void _sink_it(const details::log_msg& msg) override
{
......@@ -167,6 +171,10 @@ public:
_file_helper.open(calc_filename(_base_filename, _extension));
}
virtual void flush() override {
_file_helper.flush();
}
protected:
void _sink_it(const details::log_msg& msg) override
{
......
......@@ -40,6 +40,9 @@ protected:
void _sink_it(const details::log_msg&) override
{}
void flush() override
{}
};
typedef null_sink<details::null_mutex> null_sink_st;
typedef null_sink<std::mutex> null_sink_mt;
......
......@@ -51,6 +51,11 @@ protected:
if (_force_flush)
_ostream.flush();
}
virtual void flush() override {
_ostream.flush();
}
std::ostream& _ostream;
bool _force_flush;
};
......
......@@ -35,6 +35,7 @@ class sink
public:
virtual ~sink() {}
virtual void log(const details::log_msg& msg) = 0;
virtual void flush() = 0;
};
}
}
......
......@@ -78,6 +78,8 @@ public:
::syslog(syslog_prio_from_level(msg), "%s", msg.formatted.str().c_str());
}
virtual void flush() override {
}
private:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment