| Index: base/logging.cc
|
| diff --git a/base/logging.cc b/base/logging.cc
|
| index e5c8c8df6dc7e1b84eaaa4e7193cfc789deb4dfc..11ad9357d6afbf26050b5abbd35c0a1b2c70f4e7 100644
|
| --- a/base/logging.cc
|
| +++ b/base/logging.cc
|
| @@ -58,6 +58,10 @@ typedef pthread_mutex_t* MutexHandle;
|
| #include "base/safe_strerror_posix.h"
|
| #endif
|
|
|
| +#if defined(OS_ANDROID)
|
| +#include <android/log.h>
|
| +#endif
|
| +
|
| namespace logging {
|
|
|
| DcheckState g_dcheck_state = DISABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS;
|
| @@ -129,6 +133,8 @@ int32 CurrentThreadId() {
|
| return mach_thread_self();
|
| #elif defined(OS_LINUX)
|
| return syscall(__NR_gettid);
|
| +#elif defined(OS_ANDROID)
|
| + return gettid();
|
| #elif defined(OS_FREEBSD)
|
| // TODO(BSD): find a better thread ID
|
| return reinterpret_cast<int64>(pthread_self());
|
| @@ -546,7 +552,9 @@ LogMessage::LogMessage(const char* file, int line, LogSeverity severity,
|
| }
|
|
|
| LogMessage::~LogMessage() {
|
| -#ifndef NDEBUG
|
| + // TODO(port): enable stacktrace generation on LOG_FATAL once backtrace are
|
| + // working in Android.
|
| +#if !defined(NDEBUG) && !defined(OS_ANDROID)
|
| if (severity_ == LOG_FATAL) {
|
| // Include a stack trace on a fatal.
|
| base::debug::StackTrace trace;
|
| @@ -568,6 +576,24 @@ LogMessage::~LogMessage() {
|
| logging_destination == LOG_TO_BOTH_FILE_AND_SYSTEM_DEBUG_LOG) {
|
| #if defined(OS_WIN)
|
| OutputDebugStringA(str_newline.c_str());
|
| +#elif defined(OS_ANDROID)
|
| + android_LogPriority priority = ANDROID_LOG_UNKNOWN;
|
| + switch (severity_) {
|
| + case LOG_INFO:
|
| + priority = ANDROID_LOG_INFO;
|
| + break;
|
| + case LOG_WARNING:
|
| + priority = ANDROID_LOG_WARN;
|
| + break;
|
| + case LOG_ERROR:
|
| + case LOG_ERROR_REPORT:
|
| + priority = ANDROID_LOG_ERROR;
|
| + break;
|
| + case LOG_FATAL:
|
| + priority = ANDROID_LOG_FATAL;
|
| + break;
|
| + }
|
| + __android_log_write(priority, "chromium", str_newline.c_str());
|
| #endif
|
| fprintf(stderr, "%s", str_newline.c_str());
|
| fflush(stderr);
|
|
|