• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1diff --git a/base/logging.cc b/base/logging.cc
2index 8eabda0..112afb8 100644
3--- a/base/logging.cc
4+++ b/base/logging.cc
5@@ -58,7 +58,7 @@ typedef HANDLE MutexHandle;
6 #include <zircon/syscalls.h>
7 #endif
8
9-#if defined(OS_ANDROID)
10+#if defined(OS_ANDROID) || defined(__ANDROID__)
11 #include <android/log.h>
12 #endif
13
14@@ -407,21 +407,23 @@ bool BaseInitLoggingImpl(const LoggingSettings& settings) {
15   // Can log only to the system debug log.
16   CHECK_EQ(settings.logging_dest & ~LOG_TO_SYSTEM_DEBUG_LOG, 0);
17 #endif
18-  base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
19-  // Don't bother initializing |g_vlog_info| unless we use one of the
20-  // vlog switches.
21-  if (command_line->HasSwitch(switches::kV) ||
22-      command_line->HasSwitch(switches::kVModule)) {
23-    // NOTE: If |g_vlog_info| has already been initialized, it might be in use
24-    // by another thread. Don't delete the old VLogInfo, just create a second
25-    // one. We keep track of both to avoid memory leak warnings.
26-    CHECK(!g_vlog_info_prev);
27-    g_vlog_info_prev = g_vlog_info;
28-
29-    g_vlog_info =
30-        new VlogInfo(command_line->GetSwitchValueASCII(switches::kV),
31-                     command_line->GetSwitchValueASCII(switches::kVModule),
32-                     &g_min_log_level);
33+  if (base::CommandLine::InitializedForCurrentProcess()) {
34+    base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
35+    // Don't bother initializing |g_vlog_info| unless we use one of the
36+    // vlog switches.
37+    if (command_line->HasSwitch(switches::kV) ||
38+        command_line->HasSwitch(switches::kVModule)) {
39+      // NOTE: If |g_vlog_info| has already been initialized, it might be in use
40+      // by another thread. Don't delete the old VLogInfo, just create a second
41+      // one. We keep track of both to avoid memory leak warnings.
42+      CHECK(!g_vlog_info_prev);
43+      g_vlog_info_prev = g_vlog_info;
44+
45+      g_vlog_info =
46+          new VlogInfo(command_line->GetSwitchValueASCII(switches::kV),
47+                       command_line->GetSwitchValueASCII(switches::kVModule),
48+                       &g_min_log_level);
49+    }
50   }
51
52   g_logging_destination = settings.logging_dest;
53@@ -755,7 +757,7 @@ LogMessage::~LogMessage() {
54                        str_newline.c_str());
55 #endif  // defined(USE_ASL)
56     }
57-#elif defined(OS_ANDROID)
58+#elif defined(OS_ANDROID) || defined(__ANDROID__)
59     android_LogPriority priority =
60         (severity_ < 0) ? ANDROID_LOG_VERBOSE : ANDROID_LOG_UNKNOWN;
61     switch (severity_) {
62@@ -772,7 +774,16 @@ LogMessage::~LogMessage() {
63         priority = ANDROID_LOG_FATAL;
64         break;
65     }
66+#if defined(OS_ANDROID)
67     __android_log_write(priority, "chromium", str_newline.c_str());
68+#else
69+    __android_log_write(
70+        priority,
71+        base::CommandLine::InitializedForCurrentProcess() ?
72+            base::CommandLine::ForCurrentProcess()->
73+                GetProgram().BaseName().value().c_str() : nullptr,
74+        str_newline.c_str());
75+#endif  // defined(OS_ANDROID)
76 #endif
77     ignore_result(fwrite(str_newline.data(), str_newline.size(), 1, stderr));
78     fflush(stderr);
79