diff options
Diffstat (limited to 'python/openvino/runtime/common/utils/src/slog.cpp')
| -rw-r--r-- | python/openvino/runtime/common/utils/src/slog.cpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/python/openvino/runtime/common/utils/src/slog.cpp b/python/openvino/runtime/common/utils/src/slog.cpp new file mode 100644 index 0000000..df484ec --- /dev/null +++ b/python/openvino/runtime/common/utils/src/slog.cpp @@ -0,0 +1,43 @@ +// Copyright (C) 2018-2022 Intel Corporation +// SPDX-License-Identifier: Apache-2.0 +// + +// clang-format off +#include <iostream> + +#include "samples/slog.hpp" +// clang-format on + +namespace slog { + +LogStream info("INFO", std::cout); +LogStream warn("WARNING", std::cout); +LogStream err("ERROR", std::cerr); + +LogStream::LogStream(const std::string& prefix, std::ostream& log_stream) : _prefix(prefix), _new_line(true) { + _log_stream = &log_stream; +} + +// Specializing for LogStreamEndLine to support slog::endl +LogStream& LogStream::operator<<(const LogStreamEndLine& /*arg*/) { + if (_new_line) + (*_log_stream) << "[ " << _prefix << " ] "; + _new_line = true; + + (*_log_stream) << std::endl; + return *this; +} + +// Specializing for LogStreamBoolAlpha to support slog::boolalpha +LogStream& LogStream::operator<<(const LogStreamBoolAlpha& /*arg*/) { + (*_log_stream) << std::boolalpha; + return *this; +} + +// Specializing for LogStreamFlush to support slog::flush +LogStream& LogStream::operator<<(const LogStreamFlush& /*arg*/) { + (*_log_stream) << std::flush; + return *this; +} + +} // namespace slog |
