mirror of
https://github.com/dart-lang/sdk
synced 2024-10-14 09:31:58 +00:00
4b2309c15a
Also add some missing va_end. TEST=ci Bug: https://github.com/dart-lang/sdk/issues/47939 Change-Id: Iadfbf72493d987dfb1d102922db1b353249a4728 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/224240 Reviewed-by: Alexander Aprelev <aam@google.com> Commit-Queue: Ryan Macnak <rmacnak@google.com>
53 lines
1.5 KiB
C++
53 lines
1.5 KiB
C++
// 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 <android/log.h> // NOLINT
|
|
#include <stdio.h> // 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)
|