From: Sylvain Berfini Date: Thu, 27 Dec 2012 11:18:02 +0000 (+0100) Subject: TAG for android traces can be specified through JNI interface X-Git-Url: http://sjero.net/git/?p=linphone;a=commitdiff_plain;h=414fcf3841ee6c3b69cb9d52b35bdf6ef97a8ef7 TAG for android traces can be specified through JNI interface --- diff --git a/build/android/common.mk b/build/android/common.mk index 99e1787a..d629b54a 100644 --- a/build/android/common.mk +++ b/build/android/common.mk @@ -46,10 +46,6 @@ LOCAL_SRC_FILES := \ ec-calibrator.c \ linphone_tunnel.cc -ifndef MY_LOG_DOMAIN -MY_LOG_DOMAIN = \"Linphone\" -endif - ifndef LINPHONE_VERSION LINPHONE_VERSION = "Devel" endif @@ -64,7 +60,6 @@ LOCAL_CFLAGS += \ -DENABLE_TRACE \ -DLINPHONE_VERSION=\"$(LINPHONE_VERSION)\" \ -DLINPHONE_PLUGINS_DIR=\"\\tmp\" \ - -DLOG_DOMAIN=$(MY_LOG_DOMAIN) \ -DHAVE_EXOSIP_TRYLOCK=1 \ -DHAVE_EXOSIP_TLS_VERIFY_CERTIFICATE=1 diff --git a/coreapi/linphonecore_jni.cc b/coreapi/linphonecore_jni.cc index 5bdcbfe3..102d2177 100644 --- a/coreapi/linphonecore_jni.cc +++ b/coreapi/linphonecore_jni.cc @@ -52,6 +52,7 @@ extern "C" void libmsbcg729_init(); #endif /*ANDROID*/ static JavaVM *jvm=0; +static const char* LogDomain = "Linphone"; #ifdef ANDROID static void linphone_android_log_handler(OrtpLogLevel lev, const char *fmt, va_list args){ @@ -70,15 +71,15 @@ static void linphone_android_log_handler(OrtpLogLevel lev, const char *fmt, va_l vsnprintf(str, sizeof(str) - 1, fmt, args); str[sizeof(str) - 1] = '\0'; if (strlen(str) < 512) { - __android_log_write(prio, LOG_DOMAIN, str); + __android_log_write(prio, LogDomain, str); } else { current = str; while ((next = strchr(current, '\n')) != NULL) { *next = '\0'; - __android_log_write(prio, LOG_DOMAIN, current); + __android_log_write(prio, LogDomain, current); current = next + 1; } - __android_log_write(prio, LOG_DOMAIN, current); + __android_log_write(prio, LogDomain, current); } } @@ -100,8 +101,10 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *ajvm, void *reserved) //LinphoneFactory extern "C" void Java_org_linphone_core_LinphoneCoreFactoryImpl_setDebugMode(JNIEnv* env ,jobject thiz - ,jboolean isDebug) { + ,jboolean isDebug + ,jstring jdebugTag) { if (isDebug) { + LogDomain = env->GetStringUTFChars(jdebugTag, NULL); linphone_core_enable_logs_with_cb(linphone_android_log_handler); } else { linphone_core_disable_logs(); diff --git a/java/common/org/linphone/core/LinphoneCoreFactory.java b/java/common/org/linphone/core/LinphoneCoreFactory.java index 04cef4ae..10079401 100644 --- a/java/common/org/linphone/core/LinphoneCoreFactory.java +++ b/java/common/org/linphone/core/LinphoneCoreFactory.java @@ -72,8 +72,9 @@ abstract public class LinphoneCoreFactory { /** * Enable verbose traces * @param enable + * @param tag */ - abstract public void setDebugMode(boolean enable); + abstract public void setDebugMode(boolean enable, String tag); abstract public void setLogHandler(LinphoneLogHandler handler); /** diff --git a/java/impl/org/linphone/core/LinphoneCoreFactoryImpl.java b/java/impl/org/linphone/core/LinphoneCoreFactoryImpl.java index a99509fa..b719f0f7 100644 --- a/java/impl/org/linphone/core/LinphoneCoreFactoryImpl.java +++ b/java/impl/org/linphone/core/LinphoneCoreFactoryImpl.java @@ -131,7 +131,7 @@ public class LinphoneCoreFactoryImpl extends LinphoneCoreFactory { } @Override - public native void setDebugMode(boolean enable); + public native void setDebugMode(boolean enable, String tag); @Override public void setLogHandler(LinphoneLogHandler handler) {