// // Copyright(c) 2016 Alexander Dalshov. // Distributed under the MIT License (http://opensource.org/licenses/MIT) // #pragma once #ifndef SPDLOG_H #include "spdlog/spdlog.h" #endif #if defined(_WIN32) #include "spdlog/details/null_mutex.h" #include "spdlog/sinks/base_sink.h" #include #include #include namespace spdlog { namespace sinks { /* * MSVC sink (logging using OutputDebugStringA) */ template class msvc_sink : public base_sink { public: explicit msvc_sink() {} protected: void sink_it_(const details::log_msg &msg) override { fmt::memory_buffer formatted; sink::formatter_->format(msg, formatted); OutputDebugStringA(fmt::to_string(formatted).c_str()); } void flush_() override {} }; using msvc_sink_mt = msvc_sink; using msvc_sink_st = msvc_sink; using windebug_sink_mt = msvc_sink_mt; using windebug_sink_st = msvc_sink_st; } // namespace sinks } // namespace spdlog #endif