72 LogStream(std::mutex& mtx,
bool enabled) : mtx_(mtx), enabled_(enabled) {}
80 if (!enabled_)
return;
82 std::string str = buffer_.str();
83 std::lock_guard<std::mutex> lock(mtx_);
85 ::write(STDOUT_FILENO, str.c_str(), str.size());
96 : mtx_(other.mtx_), enabled_(other.enabled_), buffer_(std::move(other.buffer_)) {}
115 std::ostringstream buffer_;
129 bool enabled_ =
true;
138#define LOG() fix40::Logger::instance().log()
日志流对象,支持流式输出
Definition logger.hpp:65
LogStream(LogStream &&other) noexcept
移动构造函数
Definition logger.hpp:95
LogStream(std::mutex &mtx, bool enabled)
构造日志流
Definition logger.hpp:72
~LogStream()
析构时输出日志
Definition logger.hpp:79
LogStream & operator=(const LogStream &)=delete
LogStream & operator<<(const T &value)
流式输出操作符
Definition logger.hpp:105
LogStream(const LogStream &)=delete
线程安全的日志输出器(单例模式)
Definition logger.hpp:31
LogStream log()
创建日志流对象
Definition logger.hpp:122
void setEnabled(bool enabled)
启用或禁用日志输出
Definition logger.hpp:46
static Logger & instance()
获取 Logger 单例实例
Definition logger.hpp:37
bool isEnabled() const
检查日志是否启用
Definition logger.hpp:54
Definition matching_engine.hpp:23