未验证 提交 401f7534 编写于 作者: K kalcohol 提交者: GitHub

add android log (#657)

* fix path example

* add android log support

* remove script
上级 3905a5cb
#!/bin/bash
export ANDROID_NDK=<your-ndk-root_path, such as /home/i/wls/libraries/android-ndk-r15c>
export ANDROID_NDK=<your-ndk-root_path, such as /home/user/libraries/android-ndk-r15c>
##### android armv7
......
......@@ -109,6 +109,7 @@ IF (TENGINE_COMPILER_GCC OR TENGINE_COMPILER_CLANG)
IF (ANDROID)
LIST (APPEND TENGINE_COMMON_LINK_LIBRARIES android)
LIST (APPEND TENGINE_COMMON_LINK_LIBRARIES log)
ELSEIF (OHOS)
LIST (APPEND TENGINE_COMMON_LINK_LIBRARIES dl)
LIST (APPEND TENGINE_COMMON_LINK_LIBRARIES m)
......
......@@ -34,6 +34,10 @@
#include <time.h>
#include <stdarg.h>
#ifdef ANDROID
#include <android/log.h>
#endif
static mutex_t log_locker;
static const char* map_table[] = {"EMERG", "ALERT", "CRIT", "ERROR", "WARN", "NOTICE", "INFO", "DEBUG"};
......@@ -58,7 +62,49 @@ static void do_log(struct logger* logger, enum log_level level, const char* fmt,
{
return;
}
#ifdef ANDROID
va_list _ap;
va_start(_ap, fmt);
switch (level)
{
case LOG_EMERG:
case LOG_ALERT:
case LOG_CRIT:
{
__android_log_print(ANDROID_LOG_FATAL, "Tengine", fmt, _ap);
break;
}
case LOG_ERR:
{
__android_log_print(ANDROID_LOG_ERROR, "Tengine", fmt, _ap);
break;
}
case LOG_WARNING:
{
__android_log_print(ANDROID_LOG_WARN, "Tengine", fmt, _ap);
break;
}
case LOG_NOTICE:
case LOG_INFO:
{
__android_log_print(ANDROID_LOG_INFO, "Tengine", fmt, _ap);
break;
}
case LOG_DEBUG:
{
__android_log_print(ANDROID_LOG_DEBUG, "Tengine", fmt, _ap);
break;
}
default:
{
__android_log_print(ANDROID_LOG_VERBOSE, "Tengine", fmt, _ap);
}
}
va_end(_ap);
return;
#else
va_list ap;
char msg[TE_MAX_LOG_LENGTH] = { 0 };
int max_len = TE_MAX_LOG_LENGTH;
......@@ -108,6 +154,7 @@ static void do_log(struct logger* logger, enum log_level level, const char* fmt,
va_end(ap);
return safety_log(logger, msg);
#endif
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册