4 #include <cutils/log.h>
5 #include <cutils/alelog.h>
11 int xlogf_java_tag_is_on(const char *name
, int level
);
12 int xlogf_native_tag_is_on(const char *name
, int level
);
14 int xlogf_java_xtag_is_on(const char *name
, int level
);
15 int xlogf_native_xtag_is_on(const char *name
, int level
);
22 #define SXLOGV(...) ((void)SXLOG_PRI(ANDROID_LOG_VERBOSE, LOG_TAG, __VA_ARGS__))
25 #define SXLOGD(...) ((void)SXLOG_PRI(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__))
28 #define SXLOGI(...) ((void)SXLOG_PRI(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__))
31 #define SXLOGW(...) ((void)SXLOG_PRI(ANDROID_LOG_WARN, LOG_TAG, __VA_ARGS__))
34 #define SXLOGE(...) ((void)SXLOG_PRI(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__))
37 #define SXLOGF(...) ((void)SXLOG_PRI(ANDROID_LOG_FATAL, LOG_TAG, __VA_ARGS__))
40 #define SXLOG_ASSERT(cond, ...) \
42 ? ((void)SXLOGF(LOG_TAG, __VA_ARGS__)) \
45 #define SXLOG_ASSERT(cond, ...) ((void)0)
48 #define SXLOG_ALWAYS_ASSERT(cond,...) \
50 ? ((void)SXLOGF(LOG_TAG, __VA_ARGS__)) \
54 #define XLOGV(...) ((void)XLOG_PRI(ANDROID_LOG_VERBOSE, LOG_TAG, __VA_ARGS__))
57 #define XLOGD(...) ((void)XLOG_PRI(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__))
60 #define XLOGI(...) ((void)XLOG_PRI(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__))
63 #define XLOGW(...) ((void)XLOG_PRI(ANDROID_LOG_WARN, LOG_TAG, __VA_ARGS__))
66 #define XLOGE(...) ((void)XLOG_PRI(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__))
69 #define XLOGF(...) ((void)XLOG_PRI(ANDROID_LOG_FATAL, LOG_TAG, __VA_ARGS__))
73 #define XLOG_ASSERT(cond, ...) \
75 ? ((void)XLOGF(__VA_ARGS__)) \
78 #define XLOG_ASSERT(cond, ...) ((void)0)
81 #define XLOG_ALWAY_ASSERT(cond, ...) \
83 ? ((void)XLOGF(__VA_ARGS__)) \
88 #define SXLOGV2(...) ((void)SXLOG_PRI(ANDROID_LOG_VERBOSE, XLOG_TAG, __VA_ARGS__))
91 #define SXLOGD2(...) ((void)SXLOG_PRI(ANDROID_LOG_DEBUG, XLOG_TAG, __VA_ARGS__))
94 #define SXLOGI2(...) ((void)SXLOG_PRI(ANDROID_LOG_INFO, XLOG_TAG, __VA_ARGS__))
97 #define SXLOGW2(...) ((void)SXLOG_PRI(ANDROID_LOG_WARN, XLOG_TAG, __VA_ARGS__))
100 #define SXLOGE2(...) ((void)SXLOG_PRI(ANDROID_LOG_ERROR, XLOG_TAG, __VA_ARGS__))
103 #define SXLOGF2(...) ((void)SXLOG_PRI(ANDROID_LOG_FATAL, XLOG_TAG, __VA_ARGS__))
107 #define XLOGV2(...) ((void)XLOG_PRI(ANDROID_LOG_VERBOSE, XLOG_TAG, __VA_ARGS__))
110 #define XLOGD2(...) ((void)XLOG_PRI(ANDROID_LOG_DEBUG, XLOG_TAG, __VA_ARGS__))
113 #define XLOGI2(...) ((void)XLOG_PRI(ANDROID_LOG_INFO, XLOG_TAG, __VA_ARGS__))
116 #define XLOGW2(...) ((void)XLOG_PRI(ANDROID_LOG_WARN, XLOG_TAG, __VA_ARGS__))
119 #define XLOGE2(...) ((void)XLOG_PRI(ANDROID_LOG_ERROR, XLOG_TAG, __VA_ARGS__))
122 #define XLOGF2(...) ((void)XLOG_PRI(ANDROID_LOG_FATAL, XLOG_TAG, __VA_ARGS__))
131 #if defined(__cplusplus)
135 int __xlog_buf_printf(int bufid
, const struct xlog_record
*rec
, ...);
137 #if defined(__cplusplus)
141 #if !defined(HAVE_ALE_FEATURE)
143 #define xlog_buf_printf(bufid, prio, tag, fmt, ...) \
145 static const struct xlog_record _xlog_rec = \
147 __xlog_buf_printf(bufid, &_xlog_rec, ##__VA_ARGS__); \
152 #define xlog_buf_printf(bufid, prio, tag, fmt, ...) \
154 static const struct ale_convert ____xlog_ale_rec____ = \
155 { tag, fmt, __FILE__, prio, 0, "" }; \
156 ale_log_output(bufid, prio, &____xlog_ale_rec____, \
162 #define XLOG_PRI(priority, tag, ...) \
163 xlog_buf_printf(LOG_ID_MAIN, priority, tag, __VA_ARGS__)
165 #define SXLOG_PRI(priority, tag, ...) \
166 xlog_buf_printf(LOG_ID_MAIN, priority, tag, __VA_ARGS__)
168 #define xlog_printf(priority, tag, ...) \
169 xlog_buf_printf(LOG_ID_MAIN, priority, tag, __VA_ARGS__)
171 #define sxlog_printf(priority, tag, ...) \
172 xlog_buf_printf(LOG_ID_SYSTEM, priority, tag, __VA_ARGS__)