wangrong
2025-01-03 2c4b8838f89bebca97615c5f0bac2c58e0349771
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