Skip to content

Commit 401f753

Browse files
authored
add android log (#657)
* fix path example * add android log support * remove script
1 parent 3905a5c commit 401f753

File tree

3 files changed

+49
-1
lines changed

3 files changed

+49
-1
lines changed

scripts/build_android.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22

3-
export ANDROID_NDK=<your-ndk-root_path, such as /home/i/wls/libraries/android-ndk-r15c>
3+
export ANDROID_NDK=<your-ndk-root_path, such as /home/user/libraries/android-ndk-r15c>
44

55

66
##### android armv7

source/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ IF (TENGINE_COMPILER_GCC OR TENGINE_COMPILER_CLANG)
109109

110110
IF (ANDROID)
111111
LIST (APPEND TENGINE_COMMON_LINK_LIBRARIES android)
112+
LIST (APPEND TENGINE_COMMON_LINK_LIBRARIES log)
112113
ELSEIF (OHOS)
113114
LIST (APPEND TENGINE_COMMON_LINK_LIBRARIES dl)
114115
LIST (APPEND TENGINE_COMMON_LINK_LIBRARIES m)

source/utility/log.c

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@
3434
#include <time.h>
3535
#include <stdarg.h>
3636

37+
#ifdef ANDROID
38+
#include <android/log.h>
39+
#endif
40+
3741

3842
static mutex_t log_locker;
3943
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,
5862
{
5963
return;
6064
}
65+
#ifdef ANDROID
66+
va_list _ap;
67+
va_start(_ap, fmt);
68+
69+
switch (level)
70+
{
71+
case LOG_EMERG:
72+
case LOG_ALERT:
73+
case LOG_CRIT:
74+
{
75+
__android_log_print(ANDROID_LOG_FATAL, "Tengine", fmt, _ap);
76+
break;
77+
}
78+
case LOG_ERR:
79+
{
80+
__android_log_print(ANDROID_LOG_ERROR, "Tengine", fmt, _ap);
81+
break;
82+
}
83+
case LOG_WARNING:
84+
{
85+
__android_log_print(ANDROID_LOG_WARN, "Tengine", fmt, _ap);
86+
break;
87+
}
88+
case LOG_NOTICE:
89+
case LOG_INFO:
90+
{
91+
__android_log_print(ANDROID_LOG_INFO, "Tengine", fmt, _ap);
92+
break;
93+
}
94+
case LOG_DEBUG:
95+
{
96+
__android_log_print(ANDROID_LOG_DEBUG, "Tengine", fmt, _ap);
97+
break;
98+
}
99+
default:
100+
{
101+
__android_log_print(ANDROID_LOG_VERBOSE, "Tengine", fmt, _ap);
102+
}
103+
}
104+
va_end(_ap);
61105

106+
return;
107+
#else
62108
va_list ap;
63109
char msg[TE_MAX_LOG_LENGTH] = { 0 };
64110
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,
108154
va_end(ap);
109155

110156
return safety_log(logger, msg);
157+
#endif
111158
}
112159

113160

0 commit comments

Comments
 (0)