1// Copyright(c) 2015-present, Gabi Melman & spdlog contributors.
2// Distributed under the MIT License (http://opensource.org/licenses/MIT)
3
4#pragma once
5
6#ifndef SPDLOG_HEADER_ONLY
7# include <spdlog/sinks/stdout_color_sinks.h>
8#endif
9
10#include <spdlog/logger.h>
11#include <spdlog/common.h>
12
13namespace spdlog {
14
15template<typename Factory>
16SPDLOG_INLINE std::shared_ptr<logger> stdout_color_mt(const std::string &logger_name, color_mode mode)
17{
18 return Factory::template create<sinks::stdout_color_sink_mt>(logger_name, mode);
19}
20
21template<typename Factory>
22SPDLOG_INLINE std::shared_ptr<logger> stdout_color_st(const std::string &logger_name, color_mode mode)
23{
24 return Factory::template create<sinks::stdout_color_sink_st>(logger_name, mode);
25}
26
27template<typename Factory>
28SPDLOG_INLINE std::shared_ptr<logger> stderr_color_mt(const std::string &logger_name, color_mode mode)
29{
30 return Factory::template create<sinks::stderr_color_sink_mt>(logger_name, mode);
31}
32
33template<typename Factory>
34SPDLOG_INLINE std::shared_ptr<logger> stderr_color_st(const std::string &logger_name, color_mode mode)
35{
36 return Factory::template create<sinks::stderr_color_sink_st>(logger_name, mode);
37}
38} // namespace spdlog
39