diff options
author | 2018-09-07 17:36:59 -0700 | |
---|---|---|
committer | 2018-09-07 17:40:10 -0700 | |
commit | 9982fd6c8831cbd2f58954f79ea71f26660393bc (patch) | |
tree | 108907bde953d0d70ee5d3b8323a99bb9b681563 /tensorflow/contrib/lite/stderr_reporter.cc | |
parent | edda5e39e4e93ba60e4d31b6ecb1c295dead29c8 (diff) |
Modularize TF Lite interface definitions and reorganize file structure
PiperOrigin-RevId: 212064501
Diffstat (limited to 'tensorflow/contrib/lite/stderr_reporter.cc')
-rw-r--r-- | tensorflow/contrib/lite/stderr_reporter.cc | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tensorflow/contrib/lite/stderr_reporter.cc b/tensorflow/contrib/lite/stderr_reporter.cc new file mode 100644 index 0000000000..e29a6345fd --- /dev/null +++ b/tensorflow/contrib/lite/stderr_reporter.cc @@ -0,0 +1,45 @@ +/* Copyright 2017 The TensorFlow Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +==============================================================================*/ +#include "tensorflow/contrib/lite/stderr_reporter.h" +#include <cstdarg> +#include <cstdio> + +#ifdef __ANDROID__ +#include <android/log.h> +#endif + +namespace tflite { + +int StderrReporter::Report(const char* format, va_list args) { +#ifdef __ANDROID__ + // On Android stderr is not captured for applications, only for code run from + // the shell. Rather than assume all users will set up a custom error + // reporter, let's output to logcat here + va_list args_for_log; + va_copy(args_for_log, args); + __android_log_vprint(ANDROID_LOG_ERROR, "tflite", format, args_for_log); + va_end(args_for_log); +#endif + const int result = vfprintf(stderr, format, args); + fputc('\n', stderr); + return result; +} + +ErrorReporter* DefaultErrorReporter() { + static StderrReporter* error_reporter = new StderrReporter; + return error_reporter; +} + +} // namespace tflite |