Skip to content

Commit 95a5a38

Browse files
authored
Merge pull request #50 from duhenglucky/log
Add timeout support and log setting for client
2 parents 7d3bebf + 9f84531 commit 95a5a38

File tree

4 files changed

+51
-3
lines changed

4 files changed

+51
-3
lines changed

src/PythonWrapper.cpp

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,18 @@ int PySetProducerCompressLevel(void *producer, int level) {
162162
int PySetProducerMaxMessageSize(void *producer, int size) {
163163
return SetProducerMaxMessageSize((CProducer *)producer, size);
164164
}
165-
165+
int PySetProducerLogPath(void *producer, const char *logPath) {
166+
return SetProducerLogPath((CProducer *) producer, logPath);
167+
}
168+
int PySetProducerLogFileNumAndSize(void *producer, int fileNum, long fileSize) {
169+
return SetProducerLogFileNumAndSize((CProducer *) producer, fileNum, fileSize);
170+
}
171+
int PySetProducerLogLevel(void *producer, CLogLevel level) {
172+
return SetProducerLogLevel((CProducer *) producer, level);
173+
}
174+
int PySetProducerSendMsgTimeout(void *producer, int timeout) {
175+
return SetProducerSendMsgTimeout((CProducer *) producer, timeout);
176+
}
166177

167178
PySendResult PySendMessageSync(void *producer, void *msg) {
168179
PySendResult ret;
@@ -337,6 +348,18 @@ int PySetPushConsumerMessageModel(void *consumer, CMessageModel messageModel) {
337348
return SetPushConsumerMessageModel((CPushConsumer *) consumer, messageModel);
338349
}
339350

351+
int PySetPushConsumerLogPath(void *consumer, const char *logPath) {
352+
return SetPushConsumerLogPath((CPushConsumer *) consumer, logPath);
353+
}
354+
355+
int PySetPushConsumerLogFileNumAndSize(void *consumer, int fileNum, long fileSize) {
356+
return SetPushConsumerLogFileNumAndSize((CPushConsumer *) consumer, fileNum, fileSize);
357+
}
358+
359+
int PySetPushConsumerLogLevel(void *consumer, CLogLevel level) {
360+
return SetPushConsumerLogLevel((CPushConsumer *) consumer, level);
361+
}
362+
340363
//push consumer
341364
int PySetPullConsumerNameServerDomain(void *consumer, const char *domain) {
342365
return SetPullConsumerNameServerDomain((CPullConsumer *) consumer, domain);
@@ -386,6 +409,15 @@ BOOST_PYTHON_MODULE (librocketmqclientpython) {
386409
.value("BROADCASTING", BROADCASTING)
387410
.value("CLUSTERING", CLUSTERING);
388411

412+
enum_<CLogLevel>("CLogLevel")
413+
.value("E_LOG_LEVEL_FATAL", E_LOG_LEVEL_FATAL)
414+
.value("E_LOG_LEVEL_ERROR", E_LOG_LEVEL_ERROR)
415+
.value("E_LOG_LEVEL_WARN", E_LOG_LEVEL_WARN)
416+
.value("E_LOG_LEVEL_INFO", E_LOG_LEVEL_INFO)
417+
.value("E_LOG_LEVEL_DEBUG", E_LOG_LEVEL_DEBUG)
418+
.value("E_LOG_LEVEL_TRACE", E_LOG_LEVEL_TRACE)
419+
.value("E_LOG_LEVEL_LEVEL_NUM", E_LOG_LEVEL_LEVEL_NUM);
420+
389421

390422
//For Message
391423
def("CreateMessage", PyCreateMessage, return_value_policy<return_opaque_pointer>());
@@ -422,6 +454,11 @@ BOOST_PYTHON_MODULE (librocketmqclientpython) {
422454
def("SetProducerSessionCredentials", PySetProducerSessionCredentials);
423455
def("SetProducerCompressLevel", PySetProducerCompressLevel);
424456
def("SetProducerMaxMessageSize", PySetProducerMaxMessageSize);
457+
def("SetProducerSendMsgTimeout", PySetProducerSendMsgTimeout);
458+
459+
def("SetProducerLogPath", PySetProducerLogPath);
460+
def("SetProducerLogFileNumAndSize", PySetProducerLogFileNumAndSize);
461+
def("SetProducerLogLevel", PySetProducerLogLevel);
425462

426463
def("SendMessageSync", PySendMessageSync);
427464
def("SendMessageAsync", PySendMessageAsync);
@@ -445,6 +482,9 @@ BOOST_PYTHON_MODULE (librocketmqclientpython) {
445482
def("Subscribe", PySubscribe);
446483
def("RegisterMessageCallback", PyRegisterMessageCallback);
447484
def("RegisterMessageCallbackOrderly", PyRegisterMessageCallbackOrderly);
485+
def("SetPushConsumerLogPath", PySetPushConsumerLogPath);
486+
def("SetPushConsumerLogFileNumAndSize", PySetPushConsumerLogFileNumAndSize);
487+
def("SetPushConsumerLogLevel", PySetPushConsumerLogLevel);
448488

449489
//pull consumer
450490
def("SetPullConsumerNameServerDomain", PySetPullConsumerNameServerDomain);

src/PythonWrapper.h

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,10 @@ int PySetProducerInstanceName(void *producer, const char *instanceName);
115115
int PySetProducerSessionCredentials(void *producer, const char *accessKey, const char *secretKey, const char *channel);
116116
int PySetProducerCompressLevel(void *producer, int level);
117117
int PySetProducerMaxMessageSize(void *producer, int size);
118+
int PySetProducerLogPath(void *producer, const char *logPath);
119+
int PySetProducerLogFileNumAndSize(void *producer, int fileNum, long fileSize);
120+
int PySetProducerLogLevel(void *producer, CLogLevel level);
121+
int PySetProducerSendMsgTimeout(void *producer, int timeout);
118122

119123
PySendResult PySendMessageSync(void *producer, void *msg);
120124
int PySendMessageOneway(void *producer, void *msg);
@@ -146,9 +150,11 @@ int PythonMessageCallBackInner(CPushConsumer *consumer, CMessageExt *msg);
146150
int PySetPushConsumerThreadCount(void *consumer, int threadCount);
147151
int PySetPushConsumerMessageBatchMaxSize(void *consumer, int batchSize);
148152
int PySetPushConsumerInstanceName(void *consumer, const char *instanceName);
149-
int PySetPushConsumerSessionCredentials(void *consumer, const char *accessKey, const char *secretKey,
150-
const char *channel);
153+
int PySetPushConsumerSessionCredentials(void *consumer, const char *accessKey, const char *secretKey, const char *channel);
151154
int PySetPushConsumerMessageModel(void *consumer, CMessageModel messageModel);
155+
int PySetPushConsumerLogPath(void *consumer, const char *logPath);
156+
int PySetPushConsumerLogFileNumAndSize(void *consumer, int fileNum, long fileSize);
157+
int PySetPushConsumerLogLevel(void *consumer, CLogLevel level);
152158

153159
//push consumer
154160
int PySetPullConsumerNameServerDomain(void *consumer, const char *domain);

test/TestConsumeMessages.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ def init_consumer(_group, _topic, _tag):
5656
consumer = CreatePushConsumer(_group)
5757
SetPushConsumerNameServerAddress(consumer, name_srv)
5858
SetPushConsumerThreadCount(consumer, 1)
59+
SetPushConsumerLogLevel(consumer, CLogLevel.E_LOG_LEVEL_INFO)
5960
SetPushConsumerMessageModel(consumer, CMessageModel.CLUSTERING)
6061
Subscribe(consumer, _topic, _tag)
6162
RegisterMessageCallback(consumer, consumer_message, None)

test/TestSendMessages.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626

2727
def init_producer():
2828
producer = CreateProducer('TestProducer')
29+
SetProducerLogLevel(producer, CLogLevel.E_LOG_LEVEL_INFO)
2930
SetProducerNameServerAddress(producer, name_srv)
3031
StartProducer(producer)
3132
return producer

0 commit comments

Comments
 (0)