diff options
author | crupest <crupest@outlook.com> | 2022-02-21 20:47:44 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-02-21 20:47:44 +0800 |
commit | 6f398efaacd4cf733fcaedf29b648d17899071f0 (patch) | |
tree | f9bbd4102ce84c1714ba7dfd97c705ffce93f53e /src/common/log | |
parent | ced1a63686e6c64cb574d74a34d1bbd07d0a668e (diff) | |
download | cru-6f398efaacd4cf733fcaedf29b648d17899071f0.tar.gz cru-6f398efaacd4cf733fcaedf29b648d17899071f0.tar.bz2 cru-6f398efaacd4cf733fcaedf29b648d17899071f0.zip |
...
Diffstat (limited to 'src/common/log')
-rw-r--r-- | src/common/log/Logger.cpp | 8 | ||||
-rw-r--r-- | src/common/log/StdioLogTarget.cpp | 5 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/common/log/Logger.cpp b/src/common/log/Logger.cpp index bcafde21..e13cb122 100644 --- a/src/common/log/Logger.cpp +++ b/src/common/log/Logger.cpp @@ -5,12 +5,20 @@ #include <cstdlib> #include <ctime> +#ifdef CRU_PLATFORM_WINDOWS +#include "cru/common/platform/win/DebugLogTarget.h" +#endif + namespace cru::log { Logger *Logger::GetInstance() { static Logger logger; logger.AddLogTarget(std::make_unique<StdioLogTarget>()); +#ifdef CRU_PLATFORM_WINDOWS + logger.AddLogTarget(std::make_unique<platform::win::WinDebugLogTarget>()); +#endif + return &logger; } diff --git a/src/common/log/StdioLogTarget.cpp b/src/common/log/StdioLogTarget.cpp index ad29a3ce..7f99dbd1 100644 --- a/src/common/log/StdioLogTarget.cpp +++ b/src/common/log/StdioLogTarget.cpp @@ -9,6 +9,11 @@ StdioLogTarget::~StdioLogTarget() {} void StdioLogTarget::Write(log::LogLevel level, StringView s) { #ifdef CRU_PLATFORM_WINDOWS + if (level == log::LogLevel::Error) { + std::wcerr.write(reinterpret_cast<const wchar_t*>(s.data()), s.size()); + } else { + std::wcout.write(reinterpret_cast<const wchar_t*>(s.data()), s.size()); + } #else std::string m = s.ToUtf8(); |