void Log::write(LogMessage* msg) { if (worker) { msg->text.append("\n"); Logger* logger = GetLoggerByType(msg->type); worker->enqueue(new LogOperation(logger, msg)); } }
void Log::write(std::unique_ptr<LogMessage>&& msg) const { Logger const* logger = GetLoggerByType(msg->type); if (_ioService) { auto logOperation = std::shared_ptr<LogOperation>(new LogOperation(logger, std::move(msg))); _ioService->post(_strand->wrap([logOperation](){ logOperation->call(); })); } else logger->write(msg.get()); }
void Log::write(LogMessage* msg) const { Logger const* logger = GetLoggerByType(msg->type); msg->text.append("\n"); if (worker) worker->enqueue(new LogOperation(logger, msg)); else { logger->write(*msg); delete msg; } }
void Log::write(LogMessage* msg) { if (loggers.empty()) return; msg->text.append("\n"); Logger* logger = GetLoggerByType(msg->type); if (worker) worker->enqueue(new LogOperation(logger, msg)); else logger->write(*msg); }
void Log::write(LogMessage* msg) const { Logger const* logger = GetLoggerByType(msg->type); msg->text.append("\n"); if (_ioService) { auto logOperation = std::shared_ptr<LogOperation>(new LogOperation(logger, msg)); _ioService->post(_strand->wrap([logOperation](){ logOperation->call(); })); } else { logger->write(*msg); delete msg; } }