OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #include "platform/globals.h" | 5 #include "platform/globals.h" |
6 #if defined(TARGET_OS_ANDROID) | 6 #if defined(TARGET_OS_ANDROID) |
7 | 7 |
8 #include "bin/log.h" | 8 #include "bin/log.h" |
9 | 9 |
10 #include <android/log.h> // NOLINT | 10 #include <android/log.h> // NOLINT |
11 #include <stdio.h> // NOLINT | 11 #include <stdio.h> // NOLINT |
12 | 12 |
13 namespace dart { | 13 namespace dart { |
14 namespace bin { | 14 namespace bin { |
15 | 15 |
16 // TODO(gram): We should be buffering the data and only outputting | 16 // TODO(gram): We should be buffering the data and only outputting |
17 // it when we see a '\n'. | 17 // it when we see a '\n'. |
18 | 18 |
19 void Log::VPrint(const char* format, va_list args) { | 19 void Log::VPrint(const char* format, va_list args) { |
20 // If we launch the DartVM inside "adb shell" we will only get messages | 20 // If we launch the DartVM inside "adb shell" we will only get messages |
21 // (critical ones or not) if we print them to stdout/stderr. | 21 // (critical ones or not) if we print them to stdout/stderr. |
22 // We also log using android's logging system. | 22 // We also log using android's logging system. |
23 vprintf(format, args); | 23 vprintf(format, args); |
| 24 fflush(stdout); |
24 __android_log_vprint(ANDROID_LOG_INFO, "Dart", format, args); | 25 __android_log_vprint(ANDROID_LOG_INFO, "Dart", format, args); |
25 } | 26 } |
26 | 27 |
27 void Log::VPrintErr(const char* format, va_list args) { | 28 void Log::VPrintErr(const char* format, va_list args) { |
28 // If we launch the DartVM inside "adb shell" we will only get messages | 29 // If we launch the DartVM inside "adb shell" we will only get messages |
29 // (critical ones or not) if we print them to stdout/stderr. | 30 // (critical ones or not) if we print them to stdout/stderr. |
30 // We also log using android's logging system. | 31 // We also log using android's logging system. |
31 vfprintf(stderr, format, args); | 32 vfprintf(stderr, format, args); |
| 33 fflush(stderr); |
32 __android_log_vprint(ANDROID_LOG_ERROR, "Dart", format, args); | 34 __android_log_vprint(ANDROID_LOG_ERROR, "Dart", format, args); |
33 } | 35 } |
34 | 36 |
35 } // namespace bin | 37 } // namespace bin |
36 } // namespace dart | 38 } // namespace dart |
37 | 39 |
38 #endif // defined(TARGET_OS_ANDROID) | 40 #endif // defined(TARGET_OS_ANDROID) |
OLD | NEW |