Спред будет соответствовать всем требованиям.Это не служба ведения журнала, но ряд проектов используют ее для распределенной регистрации (например, модуль mod_log_spread веб-сервера Apache).У него есть клиент для C # , доступный здесь .
Его значение заключается в простом принципе: приложения, которые создают журналы, не должны быть ограничены или прерваны самим процессом регистрации.Ведение журнала, как правило, является второстепенной задачей приложения, и заполнение целевого диска файла журнала (или сбой службы журнала) является серьезной причиной сбоя приложения.
Чтобы достичь этого уровня разделения,Вы должны построить свое приложение таким образом, чтобы оно могло полностью асинхронно регистрироваться и независимо от «службы» журналирования.Spread достигает этого, используя хорошо понятную и устоявшуюся технологию: UDP / multicast.
Ведение журнала с помощью Spread будет означать, что ваши приложения будут входить в режим «запускай и забывай» по UDP.Если не настроен демон Spread для использования этих многоадресных сообщений, сообщения журнала исчезнут навсегда.Однако разделение между производителем и потребителем журналов означает, что вашим приложениям никогда не придется беспокоиться о заполнении дисков журналами, а также им не нужно беспокоиться о том, чтобы тратить время на поиск и подключение к центральному серверу журналов с использованием TCP.
Распространение не для всех приложений, все же.Ваша среда может не поддерживать многоадресную рассылку (например, EC2 отсутствует) или администратор сети может запретить многоадресные пакеты в рабочей среде.