24 std::shared_ptr<logger>
get(
const std::string &name);
30 void set_pattern(
const std::string &format_string);
31 void set_formatter(formatter_ptr f);
36 void set_level(level::level_enum log_level);
41 void flush_on(level::level_enum log_level);
46 void set_error_handler(log_err_handler handler);
64 void set_async_mode(
size_t queue_size,
const async_overflow_policy overflow_policy = async_overflow_policy::block_retry,
65 const std::function<
void()> &worker_warmup_cb =
nullptr,
66 const std::chrono::milliseconds &flush_interval_ms = std::chrono::milliseconds::zero(),
67 const std::function<
void()> &worker_teardown_cb =
nullptr);
76 std::shared_ptr<logger> basic_logger_mt(
const std::string &logger_name,
const filename_t &filename,
bool truncate =
false);
77 std::shared_ptr<logger> basic_logger_st(
const std::string &logger_name,
const filename_t &filename,
bool truncate =
false);
82 std::shared_ptr<logger> rotating_logger_mt(
83 const std::string &logger_name,
const filename_t &filename,
size_t max_file_size,
size_t max_files);
85 std::shared_ptr<logger> rotating_logger_st(
86 const std::string &logger_name,
const filename_t &filename,
size_t max_file_size,
size_t max_files);
91 std::shared_ptr<logger> daily_logger_mt(
const std::string &logger_name,
const filename_t &filename,
int hour = 0,
int minute = 0);
92 std::shared_ptr<logger> daily_logger_st(
const std::string &logger_name,
const filename_t &filename,
int hour = 0,
int minute = 0);
97 std::shared_ptr<logger> stdout_logger_mt(
const std::string &logger_name);
98 std::shared_ptr<logger> stdout_logger_st(
const std::string &logger_name);
99 std::shared_ptr<logger> stderr_logger_mt(
const std::string &logger_name);
100 std::shared_ptr<logger> stderr_logger_st(
const std::string &logger_name);
104 std::shared_ptr<logger> stdout_color_mt(
const std::string &logger_name);
105 std::shared_ptr<logger> stdout_color_st(
const std::string &logger_name);
106 std::shared_ptr<logger> stderr_color_mt(
const std::string &logger_name);
107 std::shared_ptr<logger> stderr_color_st(
const std::string &logger_name);
112 #ifdef SPDLOG_ENABLE_SYSLOG 113 std::shared_ptr<logger> syslog_logger(
114 const std::string &logger_name,
const std::string &ident =
"",
int syslog_option = 0,
int syslog_facilty = (1 << 3));
117 #if defined(__ANDROID__) 118 std::shared_ptr<logger> android_logger(
const std::string &logger_name,
const std::string &tag =
"spdlog");
122 std::shared_ptr<logger> create(
const std::string &logger_name,
const sink_ptr &sink);
125 std::shared_ptr<logger> create(
const std::string &logger_name, sinks_init_list sinks);
128 std::shared_ptr<logger> create(
const std::string &logger_name,
const It &sinks_begin,
const It &sinks_end);
133 template<
typename Sink,
typename... Args>
134 std::shared_ptr<spdlog::logger> create(
const std::string &logger_name, Args... args);
137 std::shared_ptr<logger> create_async(
const std::string &logger_name,
const sink_ptr &sink,
size_t queue_size,
138 const async_overflow_policy overflow_policy = async_overflow_policy::block_retry,
139 const std::function<
void()> &worker_warmup_cb =
nullptr,
140 const std::chrono::milliseconds &flush_interval_ms = std::chrono::milliseconds::zero(),
141 const std::function<
void()> &worker_teardown_cb =
nullptr);
144 std::shared_ptr<logger> create_async(
const std::string &logger_name, sinks_init_list sinks,
size_t queue_size,
145 const async_overflow_policy overflow_policy = async_overflow_policy::block_retry,
146 const std::function<
void()> &worker_warmup_cb =
nullptr,
147 const std::chrono::milliseconds &flush_interval_ms = std::chrono::milliseconds::zero(),
148 const std::function<
void()> &worker_teardown_cb =
nullptr);
151 std::shared_ptr<logger> create_async(
const std::string &logger_name,
const It &sinks_begin,
const It &sinks_end,
size_t queue_size,
152 const async_overflow_policy overflow_policy = async_overflow_policy::block_retry,
153 const std::function<
void()> &worker_warmup_cb =
nullptr,
154 const std::chrono::milliseconds &flush_interval_ms = std::chrono::milliseconds::zero(),
155 const std::function<
void()> &worker_teardown_cb =
nullptr);
158 void register_logger(std::shared_ptr<logger> logger);
163 void apply_all(std::function<
void(std::shared_ptr<logger>)> fun);
166 void drop(
const std::string &name);
184 #ifdef SPDLOG_TRACE_ON 185 #define SPDLOG_STR_H(x) #x 186 #define SPDLOG_STR_HELPER(x) SPDLOG_STR_H(x) 188 #define SPDLOG_TRACE(logger, ...) logger->trace("[ " __FILE__ "(" SPDLOG_STR_HELPER(__LINE__) ") ] " __VA_ARGS__) 190 #define SPDLOG_TRACE(logger, ...) logger->trace("[ " __FILE__ ":" SPDLOG_STR_HELPER(__LINE__) " ] " __VA_ARGS__) 193 #define SPDLOG_TRACE(logger, ...) (void)0 196 #ifdef SPDLOG_DEBUG_ON 197 #define SPDLOG_DEBUG(logger, ...) logger->debug(__VA_ARGS__) 199 #define SPDLOG_DEBUG(logger, ...) (void)0 204 #include "details/spdlog_impl.h" Definition: async_logger.h:26