dart-sdk/runtime/platform/syslog_android.cc
Ryan Macnak 971f4845d7 [build] Remove last platform -> vm and bin -> vm dependencies. Fix some ODR violations.
Change some static_libraries to source_sets to make ODR violations link-time errors.

This is needed to enable (stop suppressing) -fvisibility=hidden in Fuchsia product builds.

Change-Id: I699cec8d4b516beab9cebf9db0a522a7ff99e004
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99822
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-04-22 20:15:43 +00:00

39 lines
1.2 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(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.
vprintf(format, args);
fflush(stdout);
__android_log_vprint(ANDROID_LOG_INFO, "Dart", format, 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.
vfprintf(stderr, format, args);
fflush(stderr);
__android_log_vprint(ANDROID_LOG_ERROR, "Dart", format, args);
}
} // namespace dart
#endif // defined(HOST_OS_ANDROID)