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 |
| 21 // (critical ones or not) if we print them to stdout/stderr. |
| 22 // We also log using android's logging system. |
| 23 vprintf(format, args); |
20 __android_log_vprint(ANDROID_LOG_INFO, "Dart", format, args); | 24 __android_log_vprint(ANDROID_LOG_INFO, "Dart", format, args); |
21 } | 25 } |
22 | 26 |
23 void Log::VPrintErr(const char* format, va_list args) { | 27 void Log::VPrintErr(const char* format, va_list args) { |
| 28 // 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 // We also log using android's logging system. |
| 31 vfprintf(stderr, format, args); |
24 __android_log_vprint(ANDROID_LOG_ERROR, "Dart", format, args); | 32 __android_log_vprint(ANDROID_LOG_ERROR, "Dart", format, args); |
25 } | 33 } |
26 | 34 |
27 } // namespace bin | 35 } // namespace bin |
28 } // namespace dart | 36 } // namespace dart |
29 | 37 |
30 #endif // defined(TARGET_OS_ANDROID) | 38 #endif // defined(TARGET_OS_ANDROID) |
OLD | NEW |