Merge pull request #50 from duhenglucky/log
Add timeout support and log setting for client
diff --git a/src/PythonWrapper.cpp b/src/PythonWrapper.cpp
index e41bbdf..404c92a 100644
--- a/src/PythonWrapper.cpp
+++ b/src/PythonWrapper.cpp
@@ -162,7 +162,18 @@
int PySetProducerMaxMessageSize(void *producer, int size) {
return SetProducerMaxMessageSize((CProducer *)producer, size);
}
-
+int PySetProducerLogPath(void *producer, const char *logPath) {
+ return SetProducerLogPath((CProducer *) producer, logPath);
+}
+int PySetProducerLogFileNumAndSize(void *producer, int fileNum, long fileSize) {
+ return SetProducerLogFileNumAndSize((CProducer *) producer, fileNum, fileSize);
+}
+int PySetProducerLogLevel(void *producer, CLogLevel level) {
+ return SetProducerLogLevel((CProducer *) producer, level);
+}
+int PySetProducerSendMsgTimeout(void *producer, int timeout) {
+ return SetProducerSendMsgTimeout((CProducer *) producer, timeout);
+}
PySendResult PySendMessageSync(void *producer, void *msg) {
PySendResult ret;
@@ -337,6 +348,18 @@
return SetPushConsumerMessageModel((CPushConsumer *) consumer, messageModel);
}
+int PySetPushConsumerLogPath(void *consumer, const char *logPath) {
+ return SetPushConsumerLogPath((CPushConsumer *) consumer, logPath);
+}
+
+int PySetPushConsumerLogFileNumAndSize(void *consumer, int fileNum, long fileSize) {
+ return SetPushConsumerLogFileNumAndSize((CPushConsumer *) consumer, fileNum, fileSize);
+}
+
+int PySetPushConsumerLogLevel(void *consumer, CLogLevel level) {
+ return SetPushConsumerLogLevel((CPushConsumer *) consumer, level);
+}
+
//push consumer
int PySetPullConsumerNameServerDomain(void *consumer, const char *domain) {
return SetPullConsumerNameServerDomain((CPullConsumer *) consumer, domain);
@@ -386,6 +409,15 @@
.value("BROADCASTING", BROADCASTING)
.value("CLUSTERING", CLUSTERING);
+ enum_<CLogLevel>("CLogLevel")
+ .value("E_LOG_LEVEL_FATAL", E_LOG_LEVEL_FATAL)
+ .value("E_LOG_LEVEL_ERROR", E_LOG_LEVEL_ERROR)
+ .value("E_LOG_LEVEL_WARN", E_LOG_LEVEL_WARN)
+ .value("E_LOG_LEVEL_INFO", E_LOG_LEVEL_INFO)
+ .value("E_LOG_LEVEL_DEBUG", E_LOG_LEVEL_DEBUG)
+ .value("E_LOG_LEVEL_TRACE", E_LOG_LEVEL_TRACE)
+ .value("E_LOG_LEVEL_LEVEL_NUM", E_LOG_LEVEL_LEVEL_NUM);
+
//For Message
def("CreateMessage", PyCreateMessage, return_value_policy<return_opaque_pointer>());
@@ -422,6 +454,11 @@
def("SetProducerSessionCredentials", PySetProducerSessionCredentials);
def("SetProducerCompressLevel", PySetProducerCompressLevel);
def("SetProducerMaxMessageSize", PySetProducerMaxMessageSize);
+ def("SetProducerSendMsgTimeout", PySetProducerSendMsgTimeout);
+
+ def("SetProducerLogPath", PySetProducerLogPath);
+ def("SetProducerLogFileNumAndSize", PySetProducerLogFileNumAndSize);
+ def("SetProducerLogLevel", PySetProducerLogLevel);
def("SendMessageSync", PySendMessageSync);
def("SendMessageAsync", PySendMessageAsync);
@@ -445,6 +482,9 @@
def("Subscribe", PySubscribe);
def("RegisterMessageCallback", PyRegisterMessageCallback);
def("RegisterMessageCallbackOrderly", PyRegisterMessageCallbackOrderly);
+ def("SetPushConsumerLogPath", PySetPushConsumerLogPath);
+ def("SetPushConsumerLogFileNumAndSize", PySetPushConsumerLogFileNumAndSize);
+ def("SetPushConsumerLogLevel", PySetPushConsumerLogLevel);
//pull consumer
def("SetPullConsumerNameServerDomain", PySetPullConsumerNameServerDomain);
diff --git a/src/PythonWrapper.h b/src/PythonWrapper.h
index e421448..29a4952 100644
--- a/src/PythonWrapper.h
+++ b/src/PythonWrapper.h
@@ -115,6 +115,10 @@
int PySetProducerSessionCredentials(void *producer, const char *accessKey, const char *secretKey, const char *channel);
int PySetProducerCompressLevel(void *producer, int level);
int PySetProducerMaxMessageSize(void *producer, int size);
+int PySetProducerLogPath(void *producer, const char *logPath);
+int PySetProducerLogFileNumAndSize(void *producer, int fileNum, long fileSize);
+int PySetProducerLogLevel(void *producer, CLogLevel level);
+int PySetProducerSendMsgTimeout(void *producer, int timeout);
PySendResult PySendMessageSync(void *producer, void *msg);
int PySendMessageOneway(void *producer, void *msg);
@@ -146,9 +150,11 @@
int PySetPushConsumerThreadCount(void *consumer, int threadCount);
int PySetPushConsumerMessageBatchMaxSize(void *consumer, int batchSize);
int PySetPushConsumerInstanceName(void *consumer, const char *instanceName);
-int PySetPushConsumerSessionCredentials(void *consumer, const char *accessKey, const char *secretKey,
- const char *channel);
+int PySetPushConsumerSessionCredentials(void *consumer, const char *accessKey, const char *secretKey, const char *channel);
int PySetPushConsumerMessageModel(void *consumer, CMessageModel messageModel);
+int PySetPushConsumerLogPath(void *consumer, const char *logPath);
+int PySetPushConsumerLogFileNumAndSize(void *consumer, int fileNum, long fileSize);
+int PySetPushConsumerLogLevel(void *consumer, CLogLevel level);
//push consumer
int PySetPullConsumerNameServerDomain(void *consumer, const char *domain);
diff --git a/test/TestConsumeMessages.py b/test/TestConsumeMessages.py
index 9f6aab7..c3c252a 100644
--- a/test/TestConsumeMessages.py
+++ b/test/TestConsumeMessages.py
@@ -56,6 +56,7 @@
consumer = CreatePushConsumer(_group)
SetPushConsumerNameServerAddress(consumer, name_srv)
SetPushConsumerThreadCount(consumer, 1)
+ SetPushConsumerLogLevel(consumer, CLogLevel.E_LOG_LEVEL_INFO)
SetPushConsumerMessageModel(consumer, CMessageModel.CLUSTERING)
Subscribe(consumer, _topic, _tag)
RegisterMessageCallback(consumer, consumer_message, None)
diff --git a/test/TestSendMessages.py b/test/TestSendMessages.py
index 97cfd3c..9baf78e 100644
--- a/test/TestSendMessages.py
+++ b/test/TestSendMessages.py
@@ -26,6 +26,7 @@
def init_producer():
producer = CreateProducer('TestProducer')
+ SetProducerLogLevel(producer, CLogLevel.E_LOG_LEVEL_INFO)
SetProducerNameServerAddress(producer, name_srv)
StartProducer(producer)
return producer