Maxbad`Blog

功能日志回调接口

2020-09-27 · 1 min read

功能日志接口

// 定义一个输出接口
void on_error(std::function<void(std::string const&)> const& callback) {
    m_err_callback = callback;
}

// 全局变量
std::function<void(std::string const&)> m_err_callback = nullptr; 

// 格式化日志
	void trigger_message(const char* format, ...) {
		if (m_err_callback) {
			std::string text;
			va_list ap = 0;
			va_start(ap, format);
			text.resize(_vscprintf(format, ap) + 1);
			vsprintf_s(&text[0], text.capacity(), format, ap);
			va_end(ap);
			m_err_callback(text.data());
		}
	}

// 使用
trigger_message("[%s:%d],ConnectRedisCache faild", __FUNCTION__, __LINE__);