diff options
Diffstat (limited to 'include/cru/win/StdOutLogger.h')
-rw-r--r-- | include/cru/win/StdOutLogger.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/include/cru/win/StdOutLogger.h b/include/cru/win/StdOutLogger.h new file mode 100644 index 00000000..831d006f --- /dev/null +++ b/include/cru/win/StdOutLogger.h @@ -0,0 +1,23 @@ +#pragma once +#include "Base.h" + +#include "cru/common/Logger.h" + +namespace cru::platform::win { +class CRU_WIN_API WinStdOutLoggerSource : public ::cru::log::ILogSource { + public: + WinStdOutLoggerSource() = default; + + CRU_DELETE_COPY(WinStdOutLoggerSource) + CRU_DELETE_MOVE(WinStdOutLoggerSource) + + ~WinStdOutLoggerSource() = default; + + void Write(::cru::log::LogLevel level, StringView s) override { + CRU_UNUSED(level) + + String m = s.ToString(); + std::fputws(reinterpret_cast<const wchar_t*>(m.c_str()), stdout); + } +}; +} // namespace cru::platform::win |