// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. #include "platform/globals.h" #if defined(DART_HOST_OS_ANDROID) #include "platform/syslog.h" #include // NOLINT #include // NOLINT namespace dart { // TODO(gram): We should be buffering the data and only outputting // it when we see a '\n'. void Syslog::VPrint(const char* format, va_list args) { // If we launch the DartVM inside "adb shell" we will only get messages // (critical ones or not) if we print them to stdout/stderr. // We also log using android's logging system. va_list stdio_args; va_copy(stdio_args, args); vprintf(format, stdio_args); fflush(stdout); va_end(stdio_args); va_list log_args; va_copy(log_args, args); __android_log_vprint(ANDROID_LOG_INFO, "Dart", format, log_args); va_end(log_args); } void Syslog::VPrintErr(const char* format, va_list args) { // If we launch the DartVM inside "adb shell" we will only get messages // (critical ones or not) if we print them to stdout/stderr. // We also log using android's logging system. va_list stdio_args; va_copy(stdio_args, args); vfprintf(stderr, format, stdio_args); fflush(stderr); va_end(stdio_args); va_list log_args; va_copy(log_args, args); __android_log_vprint(ANDROID_LOG_ERROR, "Dart", format, log_args); va_end(log_args); } } // namespace dart #endif // defined(DART_HOST_OS_ANDROID)