Skip to content

Commit 7cbc181

Browse files
committed
chore: logging.
1 parent f31883a commit 7cbc181

File tree

2 files changed

+47
-15
lines changed

2 files changed

+47
-15
lines changed

src/godotkafka/kafka_multiplayer_peer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ void KafkaMultiplayerPeer::_bind_methods()
3939
KafkaMultiplayerPeer::KafkaMultiplayerPeer()
4040
{
4141
#if DEBUG_ENABLED || DEBUG
42-
kafka_controller.set_log_level(Kafka::LogLevel::EMERGENCY);
42+
kafka_controller.set_log_level(Kafka::LogLevel::DEBUG);
4343
#else
4444
kafka_controller.set_log_level(Kafka::LogLevel::INFO);
4545
#endif

src/kafkalib/kafka.cpp

Lines changed: 46 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -207,9 +207,10 @@ void Kafka::KafkaController::add_producer(const KafkaProducerMetadata &metadata,
207207

208208
RdKafka::Producer *producer = create_producer(metadata.brokers, errstr, *deliveryReportCb, *loggerCb, m_log_level);
209209

210-
if (!producer) {
210+
if (!producer)
211+
{
211212
//std::cerr << "Failed to create producer: " << errstr << std::endl;
212-
if (m_log_callback)
213+
if (m_log_callback && m_log_level <= LogLevel::EMERGENCY)
213214
m_log_callback(LogLevel::EMERGENCY, "Failed to create producer: " + errstr);
214215
return;
215216
}
@@ -220,23 +221,29 @@ void Kafka::KafkaController::add_producer(const KafkaProducerMetadata &metadata,
220221

221222
if (message.err())
222223
{
223-
if (m_log_callback)
224+
if (m_log_callback && m_log_level <= LogLevel::ERROR)
224225
m_log_callback(LogLevel::ERROR, "Message delivery failed: " + RdKafka::err2str(message.err()));
225226
} else {
226-
if (m_log_callback && m_log_level >= LogLevel::DEBUG)
227+
if (m_log_callback && m_log_level <= LogLevel::DEBUG)
227228
m_log_callback(LogLevel::DEBUG, "Message delivered to partition " + std::to_string(message.partition()) + " at offset " + std::to_string(message.offset()));
228229
}
229230
});
230231
loggerCb->set_callback([this](const LogLevel logLevel, const std::string &message) {
231-
if (m_log_callback && m_log_level >= logLevel)
232+
if (m_log_callback && m_log_level <= logLevel)
232233
m_log_callback(logLevel, message);
233234
});
234235

235236
// Create topic handle
236237
RdKafka::Topic *rd_topic = RdKafka::Topic::create(producer, metadata.topic, nullptr, errstr);
237-
if (m_log_callback && m_log_level >= LogLevel::DEBUG)
238+
if (!rd_topic) {
239+
if (m_log_callback && m_log_level <= LogLevel::EMERGENCY)
240+
m_log_callback(LogLevel::EMERGENCY, "Failed to create topic: " + errstr);
241+
return;
242+
}
243+
if (m_log_callback && m_log_level <= LogLevel::DEBUG)
238244
m_log_callback(LogLevel::DEBUG, "Created topic: " + metadata.topic);
239245

246+
240247
// Create shared objects.
241248
std::shared_ptr<RdKafka::Producer> producer_shared(producer);
242249
std::shared_ptr<RdKafka::Topic> topic_shared(rd_topic);
@@ -248,6 +255,12 @@ void Kafka::KafkaController::add_producer(const KafkaProducerMetadata &metadata,
248255
loggerCb,
249256
deliveryReportCb
250257
);
258+
if (!producerContext)
259+
{
260+
if (m_log_callback && m_log_level <= LogLevel::EMERGENCY)
261+
m_log_callback(LogLevel::EMERGENCY, "Failed to create producer context.");
262+
return;
263+
}
251264

252265
// Create a vector, if it doesn't exist.
253266
if (m_producers.find(channel) == m_producers.end()) {
@@ -277,9 +290,9 @@ void Kafka::KafkaController::add_consumer(const KafkaConsumerMetadata &metadata,
277290

278291
// Create the consumer.
279292
RdKafka::KafkaConsumer *consumer = create_consumer(metadata, errstr, *rebalance_cb, *loggerCb, m_log_level);
280-
281-
if (!consumer) {
282-
if (m_log_callback)
293+
if (!consumer)
294+
{
295+
if (m_log_callback && m_log_level <= LogLevel::EMERGENCY)
283296
m_log_callback(LogLevel::EMERGENCY, "Failed to create consumer: " + errstr);
284297
return;
285298
}
@@ -294,23 +307,42 @@ void Kafka::KafkaController::add_consumer(const KafkaConsumerMetadata &metadata,
294307

295308
if (err != RdKafka::ERR_NO_ERROR)
296309
{
297-
if (m_log_callback)
310+
if (m_log_callback && m_log_level <= LogLevel::ERROR)
298311
m_log_callback(LogLevel::ERROR, "Rebalance callback: " + RdKafka::err2str(err));
299312
}
300313
});
301314
loggerCb->set_callback([this](const LogLevel logLevel, const std::string &message) {
302-
if (m_log_callback)
315+
if (m_log_callback && m_log_level <= logLevel)
303316
m_log_callback(logLevel, message);
304317
});
305318

306319
// Subscribe.
307-
consumer->subscribe(metadata.topics);
320+
if (consumer->subscribe(metadata.topics) != RdKafka::ERR_NO_ERROR) {
321+
if (m_log_callback && m_log_level <= LogLevel::EMERGENCY)
322+
m_log_callback(LogLevel::EMERGENCY, "Failed to subscribe to topics.");
323+
return;
324+
}
308325

309326
// Create shared objects.
310327
std::shared_ptr<RdKafka::KafkaConsumer> consumer_shared(consumer);
328+
if (!consumer_shared) {
329+
if (m_log_callback && m_log_level <= LogLevel::EMERGENCY)
330+
m_log_callback(LogLevel::EMERGENCY, "Failed to create consumer shared.");
331+
return;
332+
}
311333
std::shared_ptr<InternalLogger> loggerCb_shared(loggerCb);
334+
if (!loggerCb_shared) {
335+
if (m_log_callback && m_log_level <= LogLevel::EMERGENCY)
336+
m_log_callback(LogLevel::EMERGENCY, "Failed to create loggerCb shared.");
337+
return;
338+
}
312339
std::shared_ptr<InternalRebalanceCb> rebalance_cb_shared(rebalance_cb);
313-
340+
if (!rebalance_cb_shared) {
341+
if (m_log_callback && m_log_level <= LogLevel::EMERGENCY)
342+
m_log_callback(LogLevel::EMERGENCY, "Failed to create rebalance_cb shared.");
343+
return;
344+
}
345+
314346
// Create Context, if it doesn't exist.
315347
if (m_consumers.find(channel) == m_consumers.end())
316348
{
@@ -390,7 +422,7 @@ bool Kafka::KafkaController::send(const uint32_t channel, const void *data, cons
390422
producer->get_producer()->flush(MAX_TIMEOUT_MS);
391423

392424
if (err) {
393-
if (m_log_callback)
425+
if (m_log_callback && m_log_level <= LogLevel::ERROR)
394426
m_log_callback(LogLevel::ERROR, "Failed to produce message: " + RdKafka::err2str(err));
395427

396428
return false;

0 commit comments

Comments
 (0)