mirror of
https://github.com/Alia5/GlosSI.git
synced 2024-11-09 01:10:24 +00:00
40 lines
794 B
C++
40 lines
794 B
C++
#pragma once
|
|
|
|
#include <spdlog/spdlog.h>
|
|
#include "Overlay.h"
|
|
|
|
|
|
namespace spdlog {
|
|
namespace sinks {
|
|
|
|
template <typename Mutex>
|
|
class overlay_sink : public spdlog::sinks::base_sink<Mutex> {
|
|
public:
|
|
overlay_sink() = default;
|
|
|
|
protected:
|
|
void sink_it_(const spdlog::details::log_msg& msg) override
|
|
{
|
|
Overlay::AddLog(msg);
|
|
}
|
|
|
|
void flush_() override
|
|
{
|
|
// Do nothing because statement executed in sink_it_().
|
|
}
|
|
|
|
void set_pattern_(const std::string& pattern) override
|
|
{
|
|
// Don't format log message.
|
|
}
|
|
|
|
void set_formatter_(std::unique_ptr<spdlog::formatter> sink_formatter) override
|
|
{
|
|
// Don't format log message.
|
|
}
|
|
};
|
|
|
|
using overlay_sink_mt = overlay_sink<std::mutex>;
|
|
|
|
} // namespace sinks
|
|
} // namespace spdlog
|