Refactored tcp_client_sink

This commit is contained in:
gabime 2020-02-25 15:09:03 +02:00
parent 9f41903067
commit 0b91d55269
2 changed files with 10 additions and 5 deletions

View File

@ -3,6 +3,10 @@
#pragma once #pragma once
#ifdef _WIN32
#error tcp_client not supported under windows yet
#endif
// tcp client helper // tcp client helper
#include <spdlog/common.h> #include <spdlog/common.h>
#include <spdlog/details/os.h> #include <spdlog/details/os.h>

View File

@ -14,9 +14,10 @@
#pragma once #pragma once
// tcp client sink // Simple tcp client sink
// connect to remote address and send the formatted log. // Connects to remote address and send the formatted log.
// will attempt to reconnect if connection drops. // Will attempt to reconnect if connection drops.
// If more complicated behaviour is needed (i.e get responses), you can inherit it and override the sink_it_ method.
namespace spdlog { namespace spdlog {
namespace sinks { namespace sinks {
@ -39,7 +40,7 @@ class tcp_sink : public spdlog::sinks::base_sink<Mutex>
public: public:
// connect to tcp host/port or throw if failed // connect to tcp host/port or throw if failed
// host can be hostname or ip address // host can be hostname or ip address
tcp_sink(tcp_sink_config sink_config) explicit tcp_sink(tcp_sink_config sink_config)
: config_{std::move(sink_config)} : config_{std::move(sink_config)}
{ {
if (!config_.lazy_connect) if (!config_.lazy_connect)
@ -48,7 +49,7 @@ public:
} }
} }
~tcp_sink() override {} ~tcp_sink() override = default;
protected: protected:
void sink_it_(const spdlog::details::log_msg &msg) override void sink_it_(const spdlog::details::log_msg &msg) override