diff options
Diffstat (limited to 'include/cru/win/StdOutLogger.hpp')
-rw-r--r-- | include/cru/win/StdOutLogger.hpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/include/cru/win/StdOutLogger.hpp b/include/cru/win/StdOutLogger.hpp new file mode 100644 index 00000000..cfda0a85 --- /dev/null +++ b/include/cru/win/StdOutLogger.hpp @@ -0,0 +1,23 @@ +#pragma once +#include "Base.hpp" + +#include "cru/common/Logger.hpp" + +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 |