Example #1
0
void Log::write(LogMessage* msg)
{
    if (worker)
    {
        msg->text.append("\n");
        Logger* logger = GetLoggerByType(msg->type);
        worker->enqueue(new LogOperation(logger, msg));
    }
}
Example #2
0
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());
}
Example #3
0
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;
    }
}
Example #4
0
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);
}
Example #5
0
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;
    }
}