wangrong
2025-03-19 291afb9c81aae1d15d9e3edcea618d0a2e1fc5a6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#pragma once
 
#ifdef VP_WITH_KAFKA
#include <memory>
// to-do: refactor for file structure
#include "../../nodes/broker/kafka_utils/KafkaProducer.h"
 
namespace vp_utils {
    class vp_log_kafka_writer
    {
    private:
        // ready to go
        bool inited = false;
        // wrapper producer
        std::shared_ptr<KafkaProducer> kafka_producer = nullptr;
 
    public:
        vp_log_kafka_writer(/* args */);
        ~vp_log_kafka_writer();
 
        // write log
        void write(std::string log);
 
        // initialize writer
        void init(std::string kafka_servers, std::string topic_name);
 
        // for << operator
        vp_log_kafka_writer& operator<<(std::string log);
    };
}
#endif