#pragma once #if defined(_WIN32) #include "ostream_logger.hpp" #define VC_EXTRALEAN #include namespace llarp { struct Win32LogStream : public OStreamLogStream { Win32LogStream(std::ostream& out); void PreLog( std::stringstream& s, LogLevel lvl, std::string_view filename, int lineno, const std::string& nodename) const override; void PostLog(std::stringstream& s) const override; void Tick(llarp_time_t) override{}; void Print(LogLevel lvl, std::string_view, const std::string& msg) override; private: std::ostream& m_Out; bool isConsoleModern = true; // qol fix so oldfag clients don't see ugly escapes HANDLE fd1 = GetStdHandle(STD_OUTPUT_HANDLE); }; } // namespace llarp #endif