8 #include "../details/null_mutex.h" 19 class stdout_sink SPDLOG_FINAL :
public base_sink<Mutex>
21 using MyType = stdout_sink<Mutex>;
24 explicit stdout_sink() =
default;
26 static std::shared_ptr<MyType> instance()
28 static std::shared_ptr<MyType> instance = std::make_shared<MyType>();
33 void _sink_it(
const details::log_msg &msg)
override 35 fwrite(msg.formatted.data(),
sizeof(char), msg.formatted.size(), stdout);
39 void _flush()
override 45 using stdout_sink_mt = stdout_sink<std::mutex>;
46 using stdout_sink_st = stdout_sink<details::null_mutex>;
49 class stderr_sink SPDLOG_FINAL :
public base_sink<Mutex>
51 using MyType = stderr_sink<Mutex>;
54 explicit stderr_sink() =
default;
56 static std::shared_ptr<MyType> instance()
58 static std::shared_ptr<MyType> instance = std::make_shared<MyType>();
63 void _sink_it(
const details::log_msg &msg)
override 65 fwrite(msg.formatted.data(),
sizeof(char), msg.formatted.size(), stderr);
69 void _flush()
override 75 using stderr_sink_mt = stderr_sink<std::mutex>;
76 using stderr_sink_st = stderr_sink<details::null_mutex>;
Definition: async_logger.h:26