UniSet  2.2.1
Лог сервер

Лог сервер предназначен для возможности удалённого чтения логов (DebugStream). Ему указывается host и port для прослушивания запросов, которые можно делать при помощи LogReader. Читающих клиентов может быть скольугодно много, на каждого создаётся своя "сессия"(LogSession). При этом через лог сервер имеется возможность управлять включением или отключением определённых уровней логов, записью, отключением записи или ротацией файла с логами. DebugStream за которым ведётся "слежение" задаётся в конструкторе для LogServer.

   DebugStream mylog;
   LogServer logsrv(mylog);
   ...
   logsrv.run(host,port,create_thread);
   ...

При этом если необходимо управлять или читать сразу несколько логов можно воспользоваться специальным классом LogAgregator.

    auto log1 = make_shared<DebugStream>();
    log1->setLogName("log1");

    auto log2 = make_shared<DebugStream>();
    log2->setLogName("log2");

    LogAgregator la;
    la.add(log1);
    la.add(log2);

    LogServer logsrv(la);
    ...
    logsrv.run(host,port,create_thread);
    ...
Предупреждения:
Логи отдаются "клиентам" только целоиком строкой. Т.е. по сети информация передаваться не будет пока не будет записан "endl". Это сделано для "оптимизации передачи" (чтобы не передавать каждый байт)