Первое, что приходит на ум, это не отгружает целые файлы журналов, а только записи после последней отправки. Это, конечно, предполагает, что файлы накапливаются с течением времени и каждый раз не являются полностью новыми.
Вы можете реализовать это по-разному: если файлы имеют метки даты / времени, на которые вы можете положиться, их можно пропустить через фильтр, который удаляет старые записи из рассмотрения и сбрасывает оставшуюся часть. Если такого доступного дискриминатора нет, я бы проследил за последним отправленным байтом / линией и перешел бы к этому месту перед отправкой.
В любом случае, цель состоит в том, чтобы только отправить новый контент. В нашей собственной системе журналы доставляются через службу, которая копирует журналы по мере их записи. Это потребовало небольшого сервиса, который обрабатывал файлы журналов для записи, но уменьшил задержку при захвате журналов и значительно сократил использование полосы пропускания.